應用程式閘道 TCP/TLS Proxy 概觀 (預覽)
除了現有的第 7 層功能 (HTTP、HTTPS、WebSocket 和 HTTP/2),Azure 應用程式閘道現在也支援第 4 層 (TCP 通訊協定) 和 TLS (傳傳輸層安全性) Proxy 處理。 此功能目前處於公開預覽。 若要預覽這項功能,請參閱註冊預覽。
應用程式閘道上的 TLS/TCP Proxy 功能
作為反向 Proxy 服務,應用程式閘道第 4 層作業的運作方式與第 7 層 Proxy 作業類似。 用戶端會使用應用程式閘道建立 TCP 連線,而應用程式閘道本身會從後端集區起始與後端伺服器的新 TCP 連線。 下圖顯示一般作業。
程序流程:
- 用戶端會使用前端接聽程式的 IP 位址和連接埠號碼,起始與應用程式閘道的 TCP 或 TLS 連線。 這會建立前端連線。 建立連線之後,用戶端會使用必要的應用層通訊協定來傳送要求。
- 應用程式閘道會從相關聯的後端集區與其中一個後端目標建立新的連線 (形成後端連線),並將用戶端要求傳送至該後端伺服器。
- 來自後端伺服器的回應會由應用程式閘道傳回用戶端。
- 除非 TCP 閒置逾時關閉該連線,否則來自該用戶端的後續要求會繼續使用相同的前端 TCP 連線。
比較 Azure Load Balancer 與 Azure 應用程式閘道:
Products | 類型 |
---|---|
Azure Load Balancer | 傳遞負載平衡器,其中用戶端會直接建立與負載平衡器散發演算法所選取後端伺服器的連線。 |
Azure 應用程式閘道 | 終止負載平衡器,其中用戶端會直接建立與應用程式閘道的連線,並使用應用程式閘道散發演算法所選取的後端伺服器來起始個別連線。 |
功能
- 使用單一端點 (前端 IP) 來處理 HTTP 和非 HTTP 工作負載。 相同的應用程式閘道部署可以支援第 7 層和第 4 層通訊協定:HTTP(S)、TCP 或 TLS。 您的所有用戶端都可以連線到相同的端點,並存取不同的後端應用程式。
- 使用自訂網域來處理任何後端服務。 使用應用程式閘道 V2 SKU 的前端作為公用和私人 IP 位址,您可以設定任何自訂網域名稱,以使用位址 (A) 記錄來指向其 IP 位址。 此外,透過憑證授權單位 (CA) 憑證的 TLS 終止和支援,您可以確保所選網域的連線安全性。
- 使用來自任何位置的後端伺服器 (Azure 或內部部署)。 應用程式閘道的後端可以是:
- Azure 資源,例如 IaaS 虛擬機器、虛擬機擴展集或 PaaS (App Service、事件中樞、SQL)
- 遠端資源,例如透過 FQDN 或 IP 位址存取的內部部署伺服器
- 僅限私人閘道支援。 透過私人應用程式閘道部署的 TLS 和 TCP Proxy 支援,您可以在隔離的環境中支援 HTTP 和非 HTTP 用戶端以提高安全性。
限制
- WAF v2 SKU 閘道允許建立 TLS 或 TCP 接聽程式和後端,以支援透過相同資源的 HTTP 和非 HTTP 流量。 不過,它不會檢查 TLS 和 TCP 接聽程式上的流量是否有惡意探索和安全弱點。
- 後端伺服器的預設清空逾時值為 30 秒。 目前不支援使用者定義的清空值。
- 目前不支援用戶端 IP 保留。
- 不支援應用程式閘道輸入控制器 (AGIC),且只能透過 HTTP (S) 接聽程式與 L7 Proxy 搭配運作。