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".
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
|
...
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.
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.