Azure Front Door 如何隐藏后端App Service地址避免跳转原始域名
解决方案
出现访问Front Door自定义域名重定向到App Service原始地址的问题,按以下顺序配置即可解决:
1. 修改Front Door回源Host头配置(90%以上场景可直接解决)
- 打开Front Door资源控制台,进入「原始组」(旧版Front Door称为「后端池」),找到绑定目标App Service的原始组
- 编辑对应App Service的原始配置,将「原始主机标头」的值从默认的
xxx.azurewebsites.net修改为你绑定到Front Door的自定义域名,例如www.yourdomain.com - 若需要支持多个自定义域名同时访问,可直接将「原始主机标头」留空,Front Door会自动透传用户请求的原始Host头到App Service
- 保存配置等待1~3分钟生效。
2. 适配App Service侧配置
- 进入App Service资源的「自定义域」页面,将Front Door绑定的自定义域名添加到App Service的自定义域列表中,无需为该域名配置SSL证书(证书统一托管在Front Door侧即可),否则App Service会拒绝Host头为该自定义域名的请求
- 若你的应用(如ASP.NET、Node.js服务)自身存在强制HTTPS、路径重定向等逻辑,需要修改应用的基础域名配置为你的自定义域名,避免应用生成重定向链接时默认使用azurewebsites域名
- Windows IIS托管的应用可直接添加URL重写规则,强制替换重定向响应的域名,在web.config的
<system.webServer><rewrite><rules>节点中添加以下配置:
<rule name="Fix Redirect Host" enabled="true"> <match serverVariable="RESPONSE_LOCATION" pattern="^https?://.*\.azurewebsites\.net/(.*)$" /> <action type="Rewrite" value="https://www.yourdomain.com/{R:1}" /> </rule>
3. (可选)完全隐藏App Service原始地址
完成上述配置后,可进一步限制App Service仅允许Front Door访问,避免用户直接访问原始App Service地址:
- 进入App Service的「网络」-「访问限制」页面,删除默认的允许所有公网访问规则
- 添加允许规则,源选择「服务标记」,服务标记选择
AzureFrontDoor.Backend,即可仅允许Front Door的回源请求访问App Service - 更高安全级别的场景可添加请求头校验,仅允许携带你当前Front Door实例ID的
X-Azure-FDID请求头的请求通过。
配置完成后建议用浏览器无痕模式测试,或清除Front Door缓存,避免旧的301/302重定向缓存影响验证结果。
内容的提问来源于stack exchange,提问作者HumbleCoder
相关产品推荐
相关产品推荐

