Azure Front Door基础配置异常:存储站点/WebApp访问报错
Azure Front Door配置问题排查:存储静态网站源400 / WebApp源404
问题描述
- 用Azure存储静态网站作为AFD源时,一直报**"请求URI无效。HttpStatusCode: 400, ErrorCode: InvalidUri"**错误
- 换成Azure WebApp当源,出现404错误
- Azure门户里所有配置状态都是绿色,表面正常
- 使用的Azure CLI脚本如下:
# Variables ENDPOINT_NAME="test2-endpoint" ORIGIN_NAME="test2-origin" ORIGIN_GROUP_NAME="test2-origingroup" ROUTE_NAME="test2-route" STORAGE_WEB_APP_URL="prodsofadstorageapp.z9.web.core.windows.net" #STORAGE_WEB_APP_URL="somapp.azurewebsites.net" az afd endpoint create -g "$RESOURCE_GROUP" --profile-name "$AZURE_FRONTDOOR_PROFILE_NAME" --endpoint-name "$ENDPOINT_NAME" --enabled-state Enabled az afd origin-group create -g "$RESOURCE_GROUP" --profile-name "$AZURE_FRONTDOOR_PROFILE_NAME" --origin-group-name "$ORIGIN_GROUP_NAME" --sample-size 1 --successful-samples-required 1 --probe-path "/" --probe-protocol "Https" --probe-interval-in-seconds 30 az afd origin create -g "$RESOURCE_GROUP" --profile-name "$AZURE_FRONTDOOR_PROFILE_NAME" --origin-group-name "$ORIGIN_GROUP_NAME" --origin-name "$ORIGIN_NAME" --host-name "$STORAGE_WEB_APP_URL" az afd route create -g "$RESOURCE_GROUP" --profile-name "$AZURE_FRONTDOOR_PROFILE_NAME" --endpoint-name "$ENDPOINT_NAME" --route-name "$ROUTE_NAME" --origin-group "$ORIGIN_GROUP_NAME" --patterns-to-match "/*" --https-redirect Enabled --link-to-default-domain Enabled --supported-protocols Http Https
解决方案
一、修复存储静态网站源的400错误
- 核心问题:存储静态网站对请求头和路径转发有特定要求,默认配置下AFD的请求格式不匹配存储的要求。
- 修改步骤:
- 创建源时必须指定
--origin-host-header为存储静态网站的域名,确保请求头正确:az afd origin create -g "$RESOURCE_GROUP" --profile-name "$AZURE_FRONTDOOR_PROFILE_NAME" --origin-group-name "$ORIGIN_GROUP_NAME" --origin-name "$ORIGIN_NAME" --host-name "$STORAGE_WEB_APP_URL" --origin-host-header "$STORAGE_WEB_APP_URL" - 创建路由时设置强制HTTPS转发,并明确转发路径,避免路径拼接错误:
az afd route create -g "$RESOURCE_GROUP" --profile-name "$AZURE_FRONTDOOR_PROFILE_NAME" --endpoint-name "$ENDPOINT_NAME" --route-name "$ROUTE_NAME" --origin-group "$ORIGIN_GROUP_NAME" --patterns-to-match "/*" --https-redirect Enabled --link-to-default-domain Enabled --supported-protocols Https --forwarding-protocol HttpsOnly --forwarding-path / - 确认存储静态网站已启用,根目录存在
index.html文件,直接访问https://prodsofadstorageapp.z9.web.core.windows.net能正常返回内容。
- 创建源时必须指定
二、修复WebApp源的404错误
- 核心问题:WebApp需要正确的请求头,且可能存在访问限制或路径不匹配的情况。
- 修改步骤:
- 创建源时指定
--origin-host-header为WebApp的域名:az afd origin create -g "$RESOURCE_GROUP" --profile-name "$AZURE_FRONTDOOR_PROFILE_NAME" --origin-group-name "$ORIGIN_GROUP_NAME" --origin-name "$ORIGIN_NAME" --host-name "$STORAGE_WEB_APP_URL" --origin-host-header "$STORAGE_WEB_APP_URL" - 调整路由的转发路径,如果WebApp部署在根路径,确保
--forwarding-path /;如果有子路径,对应修改为实际路径。 - 检查WebApp的访问限制,确认已添加Azure Front Door的IP范围,避免被WebApp防火墙拦截。
- 直接访问
https://somapp.azurewebsites.net验证WebApp本身能正常返回内容,排除WebApp自身部署问题。
- 创建源时指定
内容的提问来源于stack exchange,提问作者Herald Gjura
相关产品推荐
相关产品推荐

