Deploy Vonk on a reverse proxy


For ASP.NET Core 1.0 Microsoft suggested to always use another web server in front of Kestrel for public websites. For ASP.NET Core 2.0, while this is not a hard constraint anymore there are still a series of advantages in doing so:

  • some scenarios like sharing the same IP and port by multiple applications are not yet supported in Kestrel
  • helps in limiting the exposed surface area
  • provides an additional layer of configuration and defense
  • provides process management for the ASP.NET Core application (ensuring it restarts after it crashes)
  • in some scenarios a certain web server already integrates very well
  • helps simplifying load balancing and SSL setup

Hence using a reverse proxy together with the Kestrel server allows us to get benefits from both technologies at once.

With IIS

A common option on Windows is using IIS. For a comparison of IIS and Kestrel features at the moment of this writing you can check For instructions on how to deploy Vonk on IIS see Deploy Vonk on IIS

With Nginx

A popular open source alternative is Nginx. For instruction on how to deploy Vonk on Nginx see Deploy Vonk on Nginx on Linux