繁体   English   中英

是否建议在没有反向代理的情况下在 Linux 上运行 Kestrel?

[英]Is running Kestrel on Linux without a reverse proxy recommended?

我看到很多文章都说不建议将 Kestrel 直接暴露在互联网上。 最好在 Nginx 之类的反向代理后面使用它。 然而,几乎所有这些网站都有 4 年以上的历史,而且我遇到的 MSDN 参考资料都没有提到这一点。

仍然推荐在 Linux 上的代理后面运行 Kestrel 吗?

TL;DR:是的。

长答案:您的问题不限于 Kestrel 和 Nginx,而是 web 服务器 (WS) 和反向代理 (RP) 的主题。 将 WS 放在 RP 后面有很多好处,请参见此处

但本质上:

  1. 负载均衡:可以有多个 WS 实例运行,RP 将对这些 WS 的请求进行负载均衡。 所以 WS 不会过载,如果一个 WS 崩溃了,就会有其他实例在运行。
  2. 缓存 static 内容:RP 缓存并响应 css/image/js/html 请求以减少 WS 的工作量。 例如,WS 可以专注于其他 CPU 密集型任务。
  3. 针对 DDoS 的防护,标准 RP 具有防止 DDoS 攻击的内置机制。
  4. SSL https 加密所有请求内容。 因此,没有中间人嗅探您的网络 package。

有了所有这些好处,没有理由不使用反向代理。 Regardless of Linux, Windows, ASP.NET, PHP, Nginx, IIS, Apache,...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM