使用應用程式閘道路由傳送流量
應用程式閘道會管理用戶端應用程式可傳送至 Web 應用程式的要求。 應用程式閘道會根據要求的 URL 將流量路由至 Web 伺服器集區。 這稱為「應用程式層路由傳送」。 Web 伺服器集區可以是 Azure 虛擬機器、Azure 虛擬機器擴展集、Azure App Service,甚至是內部部署伺服器。
應用程式閘道路由傳送要求的方式
用戶端會將針對您 Web 應用程式的要求傳送至閘道的 IP 位址或 DNS 名稱。 閘道會將要求路由傳送至後端集區中選取的 Web 伺服器,並使用針對該閘道所設定的規則集來判斷要將該要求路由傳送至何處。
路由傳送流量主要有兩種方式,路徑型路由傳送和多網站裝載。 讓我們來看看每種方式的功能有哪些。
路徑型路由
路徑型路由傳送可讓您將 URL 中具有不同路徑的要求傳送至不同的後端伺服器集區。 例如,您可以將具有路徑 /video/*
的要求導向包含已針對視訊串流的處理進行最佳化之伺服器的後端集區,並將 /images/*
要求導向能處理影像擷取的伺服器集區。
多網站裝載
多網站裝載可讓您在相同的應用程式閘道執行個體上設定多個 Web 應用程式。 在多網站設定中,您能針對應用程式閘道的 IP 位址註冊多個 DNS 名稱 (CNAME),並指定每個網站的名稱。 應用程式閘道會使用個別的接聽程式來等候針對每個網站的要求。 每個接聽程式都會將要求傳遞至不同的規則,這可以將要求路由至位於不同後端集區中的伺服器。 例如,您可以設定應用程式閘道以將針對 http://contoso.com
的所有要求引導至單一後端集區中的伺服器,並將針對 http://fabrikam.com
的所有要求引導至另一個後端集區。 下圖顯示此設定:
多網站設定很適合用來支援多租用戶應用程式,其中每個租用戶都擁有屬於自己並用來裝載 Web 應用程式的虛擬機器集或其他資源。
其他路由傳送功能
除了路徑型路由傳送和多網站裝載之外,搭配應用程式閘道進行路由傳送時,還有幾個其他功能可供使用。
- 重新導向:重新導向可用來路由傳送至另一個網站,或是從 HTTP 路由傳送至 HTTPS。
- 重新撰寫 HTTP 標頭:HTTP 標頭可讓用戶端和伺服器透過要求或回應傳遞其他資訊。
- 自訂錯誤頁面:應用程式閘道可讓您建立自訂的錯誤頁面,而不是顯示預設的錯誤頁面。 您可以使用自訂錯誤頁面來搭配您自己的商標和版面配置。
應用程式閘道中的負載平衡
應用程式閘道將會以循環配置資源的機制,自動對傳送至每個後端集區中伺服器的要求進行負載平衡。 不過,如果您需要確保相同工作階段中針對某個用戶端的所有要求都會被路由至某個後端集區中的相同伺服器,您可以設定工作階段黏著度。
負載平衡可搭配由應用程式閘道路由傳送所實作的 OSI 第 7 層路由傳送運作,這代表它會根據應用程式閘道規則所使用的路由傳送參數 (主機名稱和路徑) 來對要求進行負載平衡。 相較之下,其他負載平衡器 (例如 Azure Load Balancer) 會在 OSI 第 4 層運作,並根據要求之目標的 IP 位址分配流量。
在 OSI 第 7 層運作可讓負載平衡運用應用程式閘道所提供的其他功能。 這些功能包括:
- 對 HTTP、HTTPS、HTTP/2 及 WebSocket 通訊協定的支援。
- 可針對 Web 應用程式弱點進行保護的 Web 應用程式防火牆。
- 端對端要求加密。
- 自動調整,以隨著 Web 流量負載的變更而動態調整容量。
適用於機動車輛部門的路由傳送
讓我們重新探討先前的機動車輛部門案例,應用程式閘道可以用來處理那兩個問題。 我們可以使用負載平衡和健康情況探查功能,來確保能在不影響使用者的情況下處理失敗。 我們也可以使用路徑型路由來提供單一端點,以供使用者存取裝載於不同 Web 服務上的網站。
我們來進一步了解執行此操作的方式。