應用程式閘道接聽程式設定
注意
建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 若要開始使用,請參閱 安裝 Azure PowerShell。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az。
接聽程式是一種邏輯實體,可使用連接埠、通訊協定、主機和 IP 位址來檢查傳入連線要求。 設定接聽程式時,您輸入的值必須符合閘道上連入要求中對應的值。
當您使用 Azure 入口網站建立應用程式閘道時,您也可以為接聽程式選擇通訊協定和連接埠,以建立預設接聽程式。 您可以選擇是否在接聽程式上啟用 HTTP2 支援。 建立應用程式閘道之後,您可以編輯該預設接聽程式 (appGatewayHttpListener) 的設定,或建立新的接聽程式。
接聽程式類型
建立新接聽程式時,您必須選擇基本或多個站台。
如果您想要您的所有要求 (針對任何網域) 被接受並轉送至後端集區,請選擇 [基本]。 了解如何使用基本接聽程式建立應用程式閘道。
如果您想要根據主機標頭或主機名稱將要求轉送至不同的後端集區,請選擇多站台接聽程式。 「應用程式閘道」需依賴 HTTP 1.1 主機標頭,才能在相同的公用 IP 位址和連接埠上裝載多個網站。 若要區分相同連接埠上的要求,您必須指定與傳入要求相符的主機名稱。 若要深入了解,請參閱使用應用程式閘道裝載多個站台。
處理接聽程式的順序
若為 v1 SKU,則會根據規則順序及接聽程式類型來比對要求。 如果基本接聽程式的規則先出現,則會先處理該規則,並接受對該連接埠和 IP 組合的任何要求。 若要避免這種情況,請先設定多網站接聽程式的規則,並將基本接聽程式的規則推向清單的最後面。
若為 v2 SKU,除非定義規則優先順序,否則會在基本接聽程式之前處理多站台接聽程式。 如果使用規則優先順序,則應該定義具有大於非萬用字元接聽程式之數位的優先順序,以確保非萬用字元接聽程式在萬用字元接聽程式之前執行。
前端 IP 位址
選擇您計劃與此接聽程式相關聯的前端 IP 位址。 接聽程式會接聽此 IP 上的傳入要求。
注意
應用程式閘道 前端支援雙堆疊 IP 位址。 您可以建立最多四個前端 IP 位址,包括兩個 IPv4 位址 (公用和私人) 與兩個 IPv6 位址 (公用和私人)。
前端連接埠
關聯前端連接埠。 您可以選取現有的連接埠或建立一個新的。 從允許的連接埠範圍選擇任何值。 您不僅可以使用知名的連接埠,例如 80 和 443,也可以使用合適的任何允許的自訂連接埠。 相同的連接埠可用於公用和私人接聽程式。
注意
使用私人和公用接聽程式搭配使用的相同連接埠號碼時,您的應用程式閘道就會將輸入流程的「目的地」變更為閘道前端 IP。 因此,視網路安全組的設定而定,您可能需要具有目的地 IP 位址的輸入規則, 作為應用程式閘道的公用和私人前端 IP。
輸入規則:
- 來源:(根據您的需求)
- 目的地 IP 位址:應用程式閘道的公用和私人前端 IP。
- 目的地連接埠:(根據接聽程式設定)
- 通訊協定:TCP
輸出規則:(無特定需求)
通訊協定
選擇 HTTP 或 HTTPS:
如果您選擇 HTTP,用戶端與應用程式閘道之間的流量不會加密。
如果您想要 TLS 終止或端對端 TLS 加密,請選擇 HTTPS。 用戶端與應用程式閘道之間的流量會加密,且 TLS 連線將會在應用程式閘道終止。 如果您想要端對端 TLS 加密至後端目標,則必須選擇後端 HTTP 設定中的 HTTPS。 這可確保應用程式閘道起始後端目標連線時流量會加密。
若要設定 TLS 終止,必須將 TLS/SSL 憑證新增至接聽程式。 這可讓應用程式閘道解密傳入流量,並將對用戶端的回應流量加密。 提供給應用程式閘道的憑證必須是個人資訊交換 (PFX) 格式,其包含私密金鑰和公開金鑰。
注意
針對接聽程式使用來自 Key Vault 的 TLS 憑證時,您必須確保您的應用程式閘道一律可以存取該連結的 Key Vault 資源及其內的憑證物件。 這可讓您順暢地操作 TLS 終止功能,並維護閘道資源的整體健康情況。 如果應用程式閘道資源偵測到設定錯誤的 Key Vault,其會自動將相關聯的 HTTPS 接聽程式置於停用狀態。 深入了解。
支援的憑證
請參閱使用應用程式閘道的 TLS 終止和端對端 TLS 概觀
其他通訊協定支援
HTTP2 支援
HTTP/2 通訊協定支援僅適用於連線到應用程式閘道接聽程式的用戶端。 與後端伺服器集區的通訊一律會透過 HTTP/1.1 來進行。 預設已停用 HTTP/2 支援。 下列 Azure PowerShell 程式碼片段示範如何啟用:
$gw = Get-AzApplicationGateway -Name test -ResourceGroupName hm
$gw.EnableHttp2 = $true
Set-AzApplicationGateway -ApplicationGateway $gw
您也可以在應用程式閘道 > 設定中,選取 [HTTP2] 底下的 [啟用],以使用 Azure 入口網站啟用 HTTP2 支援。
WebSocket 支援
預設會啟用 WebSocket 支援。 沒有使用者可設定的設定可啟用或停用。 您可以使用 WebSockets 搭配 HTTP 和 HTTPS 接聽程式。
自訂錯誤頁面
您可以定義應用程式閘道所傳回之不同回應碼的自訂錯誤頁面。 可設定錯誤頁面的回應碼為 400、403、405、408、500、502、503 和 504。 您可以使用全域層級或接聽程式特定的錯誤頁面設定,針對每個接聽程式進行細微設定。 如需詳細資訊,請參閱建立應用程式閘道的自訂錯誤頁面。
注意
來自後端伺服器的錯誤會透過應用程式閘道以未修改的方式傳遞至用戶端。
TLS 原則
您可以將 TLS/SSL 憑證管理集中,並減少後端伺服器陣列的加密解密額外負荷。 集中 TLS 處理也可讓您指定適合您的安全性需求的中央 TLS 原則。 您可以選擇預先定義或自訂 TLS 原則。
您可以設定 TLS 原則來控制 TLS 通訊協定版本。 您可以設定應用程式閘道,以針對 TLS1.0、TLS1.1、TLS1.2 和 TLS1.3 的 TLS 交握使用最低通訊協定版本。 預設會停用 SSL 2.0 和 3.0,因此無法設定。 如需詳細資訊,請參閱應用程式閘道 TLS 原則概觀。
建立接聽程式之後,您會將其他與要求路由規則相關聯。 該規則會決定接聽程式上接收的要求如何路由至後端。