You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为WAF应用网关后的应用服务配置CNAME及排查502错误?

问题解答:Azure WAF + App Service 多域名访问配置

一、能否仅通过WAF实现xyz.com访问同一后端池?

完全可以,但核心要处理Host头转发的问题——App Service会校验请求的Host头是否属于已绑定的域名(abc.com或something.azurewebsites.net),如果直接把xyz.com的Host头转发给App Service,它会拒绝请求,这就是你遇到502错误的根本原因。

二、502错误的排查与修复

1. Host头未重写(最常见诱因)

你创建了xyz.com的监听器,但WAF转发请求时,仍将Host头设为xyz.com,App Service不识别这个域名,直接返回错误,WAF便将该错误转换成502返回给客户端。
修复方法:
在WAF的后端HTTP设置中,开启「自定义主机名」,将值设为App Service已绑定的域名(比如abc.com或者默认的something.azurewebsites.net)。这样WAF会自动把请求的Host头替换成App Service认可的域名,后端就能正常响应。

2. 路由规则未正确关联

你可能只创建了监听器,但未配置对应的路由规则,导致WAF不知道该把xyz.com的请求转发到哪个后端池。
修复方法:
进入WAF的「路由规则」页面,新建一条规则,选择xyz.com的监听器,关联到现有的后端池,以及刚才修改过Host头的后端HTTP设置。

3. SSL证书配置细节

虽然你用了包含xyz.com的证书,但要确认:

  • 证书已正确上传到WAF的证书存储,且xyz.com的监听器确实绑定了该证书;
  • 如果后端HTTP设置使用HTTPS协议,若App Service用的是Azure默认证书,可关闭「从后端池验证证书」(WAF信任Azure内部CA),避免证书校验失败。

4. 健康探测的误区

健康探测正常不代表实际请求能通——因为探测用的是后端池的默认域名(比如abc.com),Host头是合法的,但用户请求的Host是xyz.com,两者请求上下文不同,所以探测结果不能直接反映实际转发情况。

三、完整配置流程

  1. 在DNS区域创建xyz.com的CNAME记录,指向abc.com;
  2. 上传包含xyz.com作为SAN的SSL证书到WAF;
  3. 为xyz.com创建HTTPS监听器,绑定该证书;
  4. 复制或修改现有后端HTTP设置,开启「自定义主机名」,设置为abc.com(或App Service默认域名);
  5. 创建路由规则,关联xyz.com监听器、目标后端池和修改后的HTTP设置;
  6. 等待5-10分钟让配置生效,再测试xyz.com的访问。

内容的提问来源于stack exchange,提问作者Saurav Likhar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 11:03:40