Hacker News new | ask | show | jobs
by anditherobot 311 days ago
Does this mean a developer doesn't have to install nginx or iis ?
6 comments

ASP.NET Core comes with its own built-in web server named Kestrel, which is very highly optimized. On most projects, I use it totally bare-metal, though I figure most run it behind a reverse proxy like nginx or yarp.
This has been the case for years
No modern dotnet web framework requires nginx or iis.
Have you tried Kestrel, YARP and Aspire?
I'm not familiar with YARP, but isn't Aspire still using Kestral? I think of Aspire as more of a code driven, flexible Docker-Compose alternative.
YARP is (Yet Another) Reverse Proxy, and Aspire is in a similar space to Testcontainers - i.e. orchestration of multiple executables for test (and other things). No it's not an alternative to Kestrel.

These are three different tools that do different things. The point is that these are better examples of the "modern MS ASP Infra" space than "nginx, iis".

> Does this mean a developer doesn't have to install nginx or iis ?

author here.

You don't have to keep it behind a reverse proxy like nginx.

But you can, especially if you have multiple APIs and you want to keep thing separated for security reason.

Example :

nginx:443 (reverse proxy, domain name routing)

|

|-> website1:8081 - docker container with SimpleW

|-> website2:8082 - docker container with SimpleW

|

...

A web server should never be directly exposed to the Internet, provided you care about the web server host or what's behind it.
> A web server should never be directly exposed to the Internet

That's what web servers are made for, no? Like Apache, Nginx etc. I mean, you could certainly put HAProxy in front but you'd need a good reason to do this.

This is not the case for the modern Internet.

More often than not, for any serious application backend, you probably want a web application firewall (WAF) in front of it and SSL termination upstream of the web server.

And also a reverse proxy / Load balancer in front of multiple Webserver instances.