I'm setting up a production deployment of an API built with .NET Core 2.0 using AWS container services.
A lot of microsoft documentation states Kestral should never be exposed directly to the internet, and should be used with IIS or and NGINX reverse proxy.
- Would running it directly behind an AWS load balancer be adequate?
- Is an AWS application load balancer or classic load balancer more suitable?
- Is an NGINX reverse proxy between the app and the load balancer still necessary?
- At what layer should http traffic be redirected to https (load balancer, nginx if used, or in kestrel?
Any tips? Best practice?