共用方式為


何時將 Kestrel 與反向 Proxy 搭配使用

注意

這不是這篇文章的最新版本。 如需目前版本,請參閱本文的 .NET 8 版本

警告

不再支援此版本的 ASP.NET Core。 如需詳細資訊,請參閱 .NET 和 .NET Core 支援原則。 如需目前版本,請參閱本文的 .NET 8 版本

重要

這些發行前產品的相關資訊在產品正式發行前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。

如需目前版本,請參閱本文的 .NET 8 版本

Kestrel 可以單獨使用,也可以與反向 Proxy 伺服器 搭配使用。 反向 Proxy 伺服器會接收來自網路的 HTTP 要求,並將要求轉送到 Kestrel。 反向 Proxy 伺服器的範例包括:

Kestrel 用作 Edge (網際網路對應) 網頁伺服器:

Kestrel 直接與網際網路通訊,無需反向 Proxy 伺服器

Kestrel 用於反向 Proxy 組態:

Kestrel 透過 IIS、Nginx 或 Apache 等反向 Proxy 伺服器間接與網際網路通訊

不論是否具有反向 Proxy 伺服器,這兩種組態都是受支援的裝載組態。

當 Kestrel 用作不需要反向 Proxy 伺服器的 Edge Server 時,不支援在多個處理序之間共用相同的 IP 位址和連接埠。 不論要求的 Host 標頭為何,在 Kestrel 設定為接聽連接埠的情況下,Kestrel 都會處理該連接埠的所有流量。 可以共用連接埠的反向 Proxy 可以用唯一的 IP 和連接埠將要求轉送到 Kestrel。

即使不需要反向 Proxy 伺服器,使用反向 Proxy 伺服器也是不錯的選擇。

反向 Proxy:

  • 可以限制它所主控之應用程式的公開介面區。
  • 提供額外的設定層和深度防禦網路安全性。
  • 能夠與現有基礎結構更好地整合。
  • 簡化負載平衡和安全通訊 (HTTPS) 組態。 只有反向 Proxy 伺服器須使用公用網域的 X.509 憑證。 該伺服器可以使用搭配本機受控憑證的一般 HTTP 或 HTTPS,與內部網路上的應用程式伺服器進行通訊。 內部 HTTPS 可提高安全性,但會增加大量額外負荷。

警告

裝載於反向 Proxy 組態需要主機篩選

其他資源

設定 ASP.NET Core 以處理 Proxy 伺服器和負載平衡器