C# – Which web server are you using in production for ASP.NET Core on a *nix server

.net coreasp.netasp.net-coreckestrel-http-server

With ASP.NET Core now released, I was wondering what the best hosting option is for Linux and Mac environments. Is there any production grade web server under active development?

The only one I'm aware of is Kestrel that ships with the framework. From the docs, it appears that Kestrel is missing several features in comparison with IIS

enter image description here

This Stackoverflow answers suggests that .NET Core apps would work with any HTTP server. Does this mean it will work with say, Apache? Would it be missing any features if so? I was under the impression that it works only with OWIN based servers. Am I missing something?

Best Answer

Use Kestrel, it's the way going forward. Refer to this: Change to IIS hosting model.

Does this mean it will work with say, Apache?

Yes and indeed that's the recommended approach. However, never expose Kestrel to outside world directly. Always put it behind a web server like nginx, IIS, HAProxy or Apache. More about Kestrel:

Some examples of using those reverse proxies: