Azure Front Door自定义域名无法传递至后端App Service的技术问询
解决Azure Front Door传递自定义域名到后端App Service的问题
1. 开启Front Door的原始Host头保留功能
进入Azure Front Door控制台,找到对应的路由规则(Routing Rules),进入转发配置(Forwarding Configuration)模块,勾选保留原始Host头(Preserve original host header)选项。默认情况下Front Door会把源App Service的域名作为Host头转发给后端,开启这个设置后,用户请求的自定义域名(test.mydomain.com)会被原样传递。
2. 确保后端App Service支持该自定义域名
如果你的App Service没有绑定test.mydomain.com,即使Front Door传递了Host头,App Service可能会拒绝请求或返回异常。操作步骤:
- 进入每个源App Service的控制台
- 打开自定义域名页面,添加test.mydomain.com的绑定(如果需要允许直接通过该域名访问App Service的话)
- 若不需要直接访问,至少确保后端代码没有对请求Host头做严格的白名单校验
3. 后端代码正确读取Host头
后端代码要直接从请求头中获取Host值,而不是依赖服务器自身的域名:
- ASP.NET:
Request.Host.Value - Python Flask:
request.host - Node.js Express:
req.headers.host
4. 检查路由规则优先级
如果配置了多个Front Door路由规则,确保包含test.mydomain.com的规则优先级最高,避免其他规则的Host头设置覆盖当前配置。
内容的提问来源于stack exchange,提问作者Erwin O.
相关产品推荐
相关产品推荐

