Using Kestrel, the best practices from MS at this time suggest using a reverse proxy in front of Kestrel. NGINX is the de facto standard for such things these days.
Here are some resources for NGINX:
- An Intro to NGINX for Kestrel
- ASP.NET Core Kestrel: Adventures in building a fast web server – Damian Edwards, David Fowler
- ASP.NET Monsters #51: An Intro to Nginx for Kestrel
- ASP.NET Monsters #58: Nginx, Kestrel and SSL
- ASP.NET Monsters #73: Why Do I Need To Know What a Reverse Proxy Is?
- AN INTRO TO NGINX FOR KESTREL
- GETTING NGINIX UP AND RUNNING ON AN UBUNTU BOX WITH SSL AND HTTP2