同VNet下Azure应用网关B无法连接容器应用:DNS解析错误求助
排查Azure应用网关DNS解析失败问题
1. 核对应用网关B的DNS服务器配置
- 确认网关B是否配置了专用DNS区域对应的DNS服务器,或是否继承了VNet的DNS设置。如果网关A用自定义DNS、网关B用Azure默认DNS,会直接导致无法解析专用域名。
- 进入Azure门户的应用网关B设置,检查「DNS服务器」选项,确保和网关A的配置完全一致(比如指向承载
mydomain.com专用DNS区域的服务器,或VNet已关联该区域且网关继承VNet DNS)。
2. 验证VNet与专用DNS区域的关联
- 确认
mydomain.com专用DNS区域是否关联了网关B所在的VNet。即便同属一个VNet,若关联操作仅针对网关A所在子网,网关B所在子网可能无法访问该专用DNS。 - 查看专用DNS区域的「虚拟网络链接」,确保网关B所在VNet已被添加,按需启用「自动注册」。
3. 检查网关B所在子网的DNS设置
- 子网可能单独配置DNS服务器,覆盖VNet的默认设置。进入网关B所在子网的设置,对比网关A的子网DNS配置,确保两者一致。
4. 直接测试网关B的DNS解析能力
- 用Azure CLI在网关B的上下文测试域名解析:
az network application-gateway diagnose dns --name <gateway-b-name> --resource-group <rg-name> --domain-name myapp.mydomain.com - 对比网关A的测试结果,若网关B返回空或错误IP,说明DNS配置存在明确差异。
5. 检查网关B的实例状态
- 确认网关B的所有实例处于「运行中」状态,异常状态(启动中、故障)会导致DNS解析模块无法正常工作。
- 在Azure门户查看应用网关的「实例健康」,必要时重启网关B的实例。
6. 核对专用DNS区域的记录配置
- 确认
myapp.mydomain.com的A/CNAME记录是否正确指向容器应用的内部IP或FQDN,检查记录的TTL、权限是否正常。 - 确保该记录对网关B所在VNet可见(专用DNS区域的链接是否正确配置了子网范围)。
内容的提问来源于stack exchange,提问作者Joel Brewer
相关产品推荐
相关产品推荐

