As Microsoft strongly suggests using Kestrel behind IIS, but performance is considerably slower than MVC5. as this article shows ASP.NET Core and the Enterprise Part 2: Hosting
I am very interested to read comparable benchmarks for ServicStack behind Nginx, in comparison with IIS as reverse proxy. It seems MS will make us to move to Linux.
Also the Self Hosted Apps are safe to use them with Kestrel only without reverce proxy? I think one instance per VM ?
Currently I’m preparing reproducible benchmarks which show comparison between ServiceStack hosting using IIS/ASP.NET, nginx@mono and Kestrel/.NET Core on linux, and they will be available soon. MS employees say that they constantly compare IIS+Kestrel with nginx+Kestrel, (for example in this comment), but I did not see any public results of such benchmarking. Only stand-alone Kestrel benchmarks.
Microsoft also states that Kestrel must not be exposed to internet (it should be run behind the proxy for security reason). But if you place Kestrel behind nginx it might be some issues with chunked encoding which Kestrel uses actively for its requests. Most of them are fixed and have got resolution, (for example like this), but possible there are some rare cases you can meet during running real projects.