1. 程式人生 > 其它 >【Azure 應用服務】App Service與Application Gateway組合使用時發生的域名跳轉問題如何解決呢?

【Azure 應用服務】App Service與Application Gateway組合使用時發生的域名跳轉問題如何解決呢?

問題描述

為App Service配置了應用服務閘道器(Application Gateway),並且為Application Gateway配置了自定義域名,通過瀏覽器訪問時,出現域名跳轉問題,由自定義域名跳轉到App Service的預設域名。

 

問題解答

應用服務是多租戶服務,因此它會使用請求中的主機標頭將請求路由到正確的終結點。 應用服務的預設域名 *.chinacloudsites.cn(例如 contoso.chinacloudsites.cn)不同於應用程式閘道器的域名(例如 contoso.com)。

來自客戶端的原始請求包含應用程式閘道器的域名 contoso.com 作為主機名。 需要配置應用程式閘道器,以便在將請求路由到應用服務後端時,將原始請求中的主機名更改為應用服務的主機名。 在應用程式閘道器的 HTTP 設定配置中使用開關“從後端地址中選取主機名

”。 在執行狀況探測配置中使用開關“從後端 HTTP 設定中選取主機名”。

 

當應用服務執行重定向時,除非另有配置,否則,它會在 location 標頭中使用替代的主機名 contoso.chinacloudsites.cn,而不使用原始主機名 contoso.com。

解決方案有兩種

方案一:重寫Response的Location Header。詳見:https://docs.azure.cn/zh-cn/application-gateway/troubleshoot-app-service-redirection-app-service-url#alternate-solution-use-a-custom-domain-name

 

方案二:為App Service 配置自定義域名,等域名驗證成功後,修改DNS記錄指向到App Gateway中。

App Service + Application Gateway 使用自定義域名:https://docs.azure.cn/zh-cn/application-gateway/troubleshoot-app-service-redirection-app-service-url#alternate-solution-use-a-custom-domain-name

可以使用 CNAME 記錄或 A 記錄將自定義 DNS 名稱對映到應用服務:https://docs.azure.cn/zh-cn/app-service/app-service-web-tutorial-custom-domain#4map-your-domain