Azure禁用App Service公网访问后出现502错误的排查求助
问题诊断与解决方案
核心错误点
- 后端池目标错误:你大概率仍在使用App Service的公网FQDN(
xxx.azurewebsites.net)作为Application Gateway的后端目标,当App Service禁用公网访问后,这个公网地址已无法访问,必须改用私有Endpoint对应的私有FQDN或IP。 - 访问限制源IP范围不准确:Application Gateway向后端转发请求时,源IP来自其所在的
App_Gateway_V2子网(192.168.101.80/28),而非单个私网IP192.168.101.84。仅允许单个IP会导致网关用子网内其他IP发起的请求被拦截,触发502。 - DNS解析缺失:Application Gateway所在VNet未关联App Service私有Endpoint对应的
privatelink.azurewebsites.net私有DNS区域,导致网关无法解析私有FQDN,无法正确路由到App Service的私有IP。
正确配置步骤
1. 修正Application Gateway后端池
- 编辑网关的后端池,将目标替换为App Service的私有FQDN(格式:
<AppService名称>.privatelink.azurewebsites.net),或直接使用私有Endpoint的IP(192.168.103.20)。 - 检查后端探测配置:确保探测路径、协议、端口与App Service的健康检查设置匹配,避免因探测失败触发502。
2. 调整App Service访问限制
- 保留允许VNET流量(192.168.100.0/22)的规则,将原单个AppGw私网IP规则替换为App Gateway所在子网的完整范围:
192.168.101.80/28。 - 删除所有公网IP相关的允许规则,确保App Service公网访问完全禁用。
3. 配置DNS解析
- 创建或找到App Service私有Endpoint对应的私有DNS区域
privatelink.azurewebsites.net。 - 将该DNS区域关联到Application Gateway所在的VNET,确保网关能正确解析私有FQDN到192.168.103.20。
- 验证:在VNet内的虚拟机执行
nslookup <AppService名称>.privatelink.azurewebsites.net,确认返回私有IP。
4. 验证后端健康状态
- 在Azure门户查看Application Gateway的「后端健康」页面,确认所有后端目标状态为「健康」。若不健康,检查探测路径是否正确、访问限制是否拦截了探测请求。
内容的提问来源于stack exchange,提问作者Uhmazing34
相关产品推荐
相关产品推荐

