将新App Service部署至已集成ASE的现有Azure应用网关后外部无法访问的排查求助
问题分析与排查步骤
你已经把Azure应用网关和新App Service的核心配置都逐一验证过了——健康探测成功、后端池/规则/监听器配置和其他应用对齐,这说明网关到App Service的内部链路是完全正常的。而外部访问出现的Error: getaddrinfo ENOTFOUND错误,本质是客户端无法将你的自定义域名解析到正确的IP地址,核心问题大概率出在DNS配置层面,下面是具体的排查方向:
1. 优先检查自定义域名的DNS记录指向
这是最常见的原因:
- 确认你是否将新域名的A/CNAME记录指向了应用网关的公网IP或前端域名,而不是直接指向App Service的默认域名或IP。其他正常应用的DNS肯定是指向网关的,如果你复制配置时漏了更新DNS记录,就会导致外部客户端找不到正确的访问入口。
- 用命令行工具验证解析结果:
查看返回的IP是否与应用网关的公网前端IP完全一致。# Windows nslookup your-new-custom-domain.com # Mac/Linux dig your-new-custom-domain.com
2. 确认监听器的主机名匹配度
虽然你提到证书和域名无异常,但还是要再核对:
- 应用网关的HTTPS/HTTP监听器中,主机名是否完全匹配你的新域名(注意区分
www.your-domain.com和your-domain.com的差异,大小写也要一致)。如果监听器主机名拼写错误,即使DNS解析正确,网关也不会把请求路由到对应的后端。 - 若使用HTTPS监听器,再次确认证书的SAN(主题备用名称)字段包含这个新域名——部分通配符证书可能存在范围限制,比如
*.example.com不包含sub.sub.example.com。
3. 排查DNS缓存问题
如果你的域名之前指向过其他地址,可能存在缓存未失效的情况:
- 切换到不同网络环境测试(比如手机4G,避免使用和测试网关相同的内网),看是否能正常解析。
- 清除本地DNS缓存:
# Windows ipconfig /flushdns # Mac sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder # Linux sudo systemctl restart systemd-resolved
4. 补充检查边缘配置
如果以上都没问题,可以快速验证这两点:
- 确认应用网关的前端IP配置是公网IP,而非内部专用IP(虽然其他应用正常,这条概率很低,但可以排除)。
- 检查应用网关的NSG(网络安全组)是否允许80/443端口的入站流量——如果新监听器用了非常规端口,要对应开放(不过你说配置和其他应用一致,这条可作为兜底检查)。
内容的提问来源于stack exchange,提问作者Xav Sc
相关产品推荐
相关产品推荐

