1. What is Kestrel - amshekar/dotnet-core-learning GitHub Wiki

What is Kestrel ?

  • Kestrel is more than just a new web server.
  • ASP.NET Core & Kestrel have been designed from the ground up to take advantage of async.
  • In a Windows's environment IIS acts as a reverse proxy.
  • However, it is still recommended to use IIS, Apache, or NGINX as a reverse proxy in front of it
  • Kestrel have some limitations, can overcome these limitations by pairing it up with IIS or NGINX.
  • IIS and ASP.Net Core wont support http.sys

Microsoft suggests always using another web server in front of Kestrel for public websites.

Internet --->IIS--->ANCM--->Kestrel--> ASP.NET Core app

IIS Setup:

  • Install IIS ,
  • Dotnet core hosting bundle and restart IIS

ASP.NET Core project templates use Kestrel by default. In Program.cs, the template code calls CreateDefaultBuilder, which calls UseKestrel behind the scenes. Proxy vs Reverse Proxy There are mainly two types of proxy servers: forward proxy and reverse proxy. When people talk about proxy servers, most of the time they mean forward proxy. The main difference between the two is that forward proxy is used by the client such as a web browser whereas reverse proxy is used by the server such as a web server. Forward proxy can reside in the same internal network as the client, or it can be on the Internet

  1. Proxy/Forward Proxy : Acting on behalf of a requestor (or service consumer)
  2. Reverse Proxy : Acting on behalf of service/content producer. reverseproxy

Read More : https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/?view=aspnetcore-2.2&tabs=windows