簡體   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