Kestrel на боевом сервере — альтернатив нет?

Мнение вчера в комментах на хабре прочитал - что Kestrel это неизбежность и обойтись без него никак нельзя.
Но позвольте... Зачем?
Какую функцию он выполняет? Наружу его пускать нельзя, должен быть nginx. Так зачем тогда нужен Kestrel? Какой сакральный смысл? И nginx и Kestrel - веб серверы. Их даже иногда сравнивают.
Но nginx это на порядки более надежный и проверенный сервер, с кучей плагинов и настроек. В то время как Kestrel - просто некая поделка, пусть и неплохая, но на боевом сервере в высоконагруженном проекте, неужели надо ее обязательно оставлять?
Какую роль он играет и почему без него нельзя обойтись?
  • Вопрос задан
  • 465 просмотров
Пригласить эксперта
Ответы на вопрос 2
@vabka
Токсичный шарпист
Наружу его пускать нельзя, должен быть nginx

Вообще-то можно.
Просто могут возникнуть сложности с балансировкой нагрузки и кэшированием.
И nginx и Kestrel - веб серверы. Их даже иногда сравнивают.

Да, только kestrel - это встраиваемый веб-сервер. Наподобие netty и jetty с жавы, или http стека с nodejs и go.
Но nginx это на порядки более надежный и проверенный сервер, с кучей плагинов и настроек.

Интересно, как вы так посчитали на порядки более высокую надёжность?)
Плагинов и настроек в kestrel тоже навалом, только там вся настройка происходит кодом.
Какую роль он играет и почему без него нельзя обойтись?

Если опустить вариант с IIS, то kestrel в принципе единственный доступный вариант, тк nginx просто не умеет напрямую с aspnet общаться.
CGI в дотнете нет, и слава богу
Если без kestrel, то есть ещё вариант с http.sys на винде

PS: страница из документации про то, когда стоит использовать kestrel с nginx, а когда можно обойтись одним кестрелом:
https://docs.microsoft.com/en-us/aspnet/core/funda...
Кратко: можно не брать обратный прокси, но тогда потеряешь немного в гибкости, например нельзя будет несколько сайтов на одном порту держать.
Ответ написан
firedragon
@firedragon
Senior .NET developer
Это аналог phpfastcgi. Кстати это не единственный способ можно и другие использовать. На тех же windows лучше использовать iis
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы