Основы хостинга Kestrel
Я занимаюсь разработкой веб-сайта ASP.NET, и меня очень заинтриговало использование vNext для размещения моего сайта независимо от хоста. Когда я начинаю искать некоторые из основных функций хостинга, я думаю, что они могут не развиваться. Кто-нибудь знает, будут ли поддерживаться следующие функции с vNext-хостингом с Kestrel на всех платформах:
- Хостинг SSL
- Регистрация HTTP-запросов (например, IIS)
- Модули IIS (я предполагаю, что нет, мне нужно только переписать URL-адрес для перенаправления на HTTPS)
Ответы
Ответ 1
Как указано на KestrelHttpServer repo:
Это репо содержит веб-сервер разработки для ASP.NET vNext на основе libuv.
Поскольку в настоящее время он называется сервером разработки, некоторые функции, возможно, никогда не пройдут. Например, IIS имеет функции для управления отображением IP-адресов для имен хостов, ограничений по пропускной способности/памяти/ЦП и т.д. Сервер разработки обычно не будет таких функций.
Что касается модулей IIS, я могу с уверенностью сказать, что он определенно не будет их поддерживать, поскольку они специфичны для IIS, а Kestrel не имеет ничего общего с IIS.
Что касается SSL-хостинга, это, безусловно, интересная возможность, но это не в настоящее время в планах. Это, безусловно, показалось бы полезным даже для веб-сервера разработки (IIS Express поддерживает его).
Update:
Документация репо была обновлена с 1 сентября, поэтому теперь она читает:
Это репо содержит веб-сервер для ядра ASP.NET на основе libuv.
Ответ 2
Вы можете запустить пустельгу за сервером nginx. Он предоставит вам SSL, виртуальный хост и другие функции. Но пустельга по-прежнему нестабильна, поэтому вам следует подумать дважды, прежде чем использовать ее в производстве. Вот статья с инструкцией как настроить nginx для передачи запросов на пустельгу
Ответ 3
Вот небольшое обновление, когда Kestrel становится готовым к производству
При развертывании в Linux вы должны запустить сопоставимый обратный прокси-сервер сервер, такой как Apache или Nginx для запросов прокси к Kestrel. http://docs.asp.net/en/latest/fundamentals/servers.html#choosing-a-server
И новые проекты ASP.NET 5/Core поставляются с этим там project.json
"commands": {
"web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.Kestrel --server.urls http://localhost:5000"
который скоро станет:
"web": "Microsoft.AspNetCore.Hosting --server Microsoft.AspNet.Server.Kestrel --server.urls http://localhost:5000"
Пример регистрации приложений кажется хорошим и поддерживает SSL, см. SampleApp/Startup.cs
Смотрите это пространство...