何時將 Kestrel 與反向 Proxy 搭配使用
注意
這不是這篇文章的最新版本。 如需目前的版本,請參閱 本文的 .NET 9 版本。
警告
不再支援此版本的 ASP.NET Core。 如需詳細資訊,請參閱 .NET 和 .NET Core 支持原則。 如需目前的版本,請參閱 本文的 .NET 9 版本。
Kestrel 可以單獨使用,也可以與反向 Proxy 伺服器 搭配使用。 反向 Proxy 伺服器會接收來自網路的 HTTP 要求,並將要求轉送到 Kestrel。 反向 Proxy 伺服器的範例包括:
Kestrel 用作 Edge (網際網路對應) 網頁伺服器:
Kestrel 用於反向 Proxy 組態:
不論是否具有反向 Proxy 伺服器,這兩種組態都是受支援的裝載組態。
當 Kestrel 用作不需要反向 Proxy 伺服器的 Edge Server 時,不支援在多個處理序之間共用相同的 IP 位址和連接埠。 不論要求的 Host
標頭為何,在 Kestrel 設定為接聽連接埠的情況下,Kestrel 都會處理該連接埠的所有流量。 可以共用連接埠的反向 Proxy 可以用唯一的 IP 和連接埠將要求轉送到 Kestrel。
即使不需要反向 Proxy 伺服器,使用反向 Proxy 伺服器也是不錯的選擇。
反向 Proxy:
- 可以限制它所主控之應用程式的公開介面區。
- 提供額外的設定層和深度防禦網路安全性。
- 能夠與現有基礎結構更好地整合。
- 簡化負載平衡和安全通訊 (HTTPS) 組態。 只有反向 Proxy 伺服器須使用公用網域的 X.509 憑證。 該伺服器可以使用搭配本機受控憑證的一般 HTTP 或 HTTPS,與內部網路上的應用程式伺服器進行通訊。 內部 HTTPS 可提高安全性,但會增加大量額外負荷。
警告
裝載於反向 Proxy 組態需要主機篩選。