使用應用程式閘道路由傳送流量

已完成

應用程式閘道會管理用戶端應用程式可傳送至 Web 應用程式的要求。 應用程式閘道會根據要求的 URL 將流量路由至 Web 伺服器集區。 這稱為「應用程式層路由傳送」。 Web 伺服器集區可以是 Azure 虛擬機器、Azure 虛擬機器擴展集、Azure App Service,甚至是內部部署伺服器。

Diagram showing how a request is routed by Application Gateway to a web server.

應用程式閘道路由傳送要求的方式

用戶端會將針對您 Web 應用程式的要求傳送至閘道的 IP 位址或 DNS 名稱。 閘道會將要求路由傳送至後端集區中選取的 Web 伺服器,並使用針對該閘道所設定的規則集來判斷要將該要求路由傳送至何處。

路由傳送流量主要有兩種方式,路徑型路由傳送和多網站裝載。 讓我們來看看每種方式的功能有哪些。

路徑型路由

路徑型路由傳送可讓您將 URL 中具有不同路徑的要求傳送至不同的後端伺服器集區。 例如,您可以將具有路徑 /video/* 的要求導向包含已針對視訊串流的處理進行最佳化之伺服器的後端集區,並將 /images/* 要求導向能處理影像擷取的伺服器集區。

Diagram showing how a request is routed by Application Gateway configured with path-based routing.

多網站裝載

多網站裝載可讓您在相同的應用程式閘道執行個體上設定多個 Web 應用程式。 在多月台設定中,您可以為 應用程式閘道的IP位址註冊多個 DNS 名稱(CNAME),並指定每個月臺的名稱。 應用程式閘道會使用個別的接聽程式來等候針對每個網站的要求。 每個接聽程式都會將要求傳遞至不同的規則,這可以將要求路由至位於不同後端集區中的伺服器。 例如,您可以設定應用程式閘道以將針對 http://contoso.com 的所有要求引導至單一後端集區中的伺服器,並將針對 http://fabrikam.com 的所有要求引導至另一個後端集區。 下圖顯示此設定:

Diagram showing how a request is routed by Application Gateway configured with multiple site hosting.

多月台組態對於支援多租用戶應用程式很有用,其中每個租使用者都有自己的一組虛擬機或其他裝載 Web 應用程式的資源。

其他路由傳送功能

除了路徑型路由傳送和多網站裝載之外,搭配應用程式閘道進行路由傳送時,還有幾個其他功能可供使用。

  • 重新導向:重新導向可用來路由傳送至另一個網站,或是從 HTTP 路由傳送至 HTTPS。
  • 重新撰寫 HTTP 標頭:HTTP 標頭可讓用戶端和伺服器透過要求或回應傳遞其他資訊。
  • 自訂錯誤頁面:應用程式閘道可讓您建立自訂的錯誤頁面,而不是顯示預設的錯誤頁面。 您可以使用自訂錯誤頁面來搭配您自己的商標和版面配置。

應用程式閘道中的負載平衡

應用程式閘道將會以循環配置資源的機制,自動對傳送至每個後端集區中伺服器的要求進行負載平衡。 不過,如果您需要確保相同工作階段中針對某個用戶端的所有要求都會被路由至某個後端集區中的相同伺服器,您可以設定工作階段黏著度。

負載平衡適用於 應用程式閘道 路由實作的 OSI 第 7 層路由,這表示它會根據 應用程式閘道 規則使用的路由參數(主機名和路徑)來平衡要求負載。 相較之下,其他負載平衡器 (例如 Azure Load Balancer) 會在 OSI 第 4 層運作,並根據要求之目標的 IP 位址分配流量。

在 OSI 第 7 層作業可讓負載平衡利用 應用程式閘道 提供的其他功能。 這些功能包括:

  • 對 HTTP、HTTPS、HTTP/2 及 WebSocket 通訊協定的支援。
  • 可針對 Web 應用程式弱點進行保護的 Web 應用程式防火牆。
  • 端對端要求加密。
  • 自動調整,以隨著 Web 流量負載的變更而動態調整容量。

機動車輛部門的路線

在機動車輛部門重新審視我們的案例時,我們可以使用 應用程式閘道 來解決這兩個問題。 我們可以使用負載平衡和健康情況探查功能,以確保在不影響用戶的情況下處理失敗。 我們也可以使用路徑型路由來提供單一端點,以供使用者存取裝載於不同 Web 服務上的網站。

我們來進一步了解執行此操作的方式。

檢定您的知識

1.

應用程式閘道使用哪一個準則來將要求路由傳送至 Web 伺服器?

2.

應用程式閘道會實作哪一種負載平衡策略?