如何通过VPN网关访问Azure专用容器应用的站点
排查与解决步骤
一、先确认DNS解析是否正常
报错“主机未找到”优先排查DNS问题:
- 在VPN连接的客户端(本地电脑或Hub资源组内的VM)执行命令
nslookup <你的容器应用域名>,检查是否返回容器应用的IP地址:- 如果未返回正确IP:
- 检查专用DNS区域的虚拟网络链接:确保Hub的虚拟网络也被关联到该DNS区域(VPN客户端的DNS由Hub VNet提供,只有Hub VNet关联了专用DNS区域,客户端才能解析到记录)
- 核对记录集配置:确认记录集名称为
*,所属区域是你的容器应用根域名,类型为A记录,值正确指向容器应用IP - 检查VPN网关的DNS设置:确保VPN客户端使用Hub VNet的DNS服务器,而非本地DNS
- 如果未返回正确IP:
二、调整网络安全组(NSG)规则
1. 分支资源组的NSG(容器应用所在VNet)
添加入站允许规则,优先级高于默认拒绝规则:
- 源:填写VPN客户端的IP段 或 Hub虚拟网络的地址空间
- 目标:容器应用的IP地址
- 端口范围:
9000 - 协议:TCP(若容器用UDP则同时添加UDP规则)
- 动作:允许
2. Hub资源组的NSG
确认没有阻止VPN客户端到分支VNet地址段9000端口的入站/出站流量
三、验证VNet对等互联配置
- 确保Hub与分支VNet的对等是双向启用网关传输:
- Hub到分支的对等设置:勾选「允许远程网关访问」
- 分支到Hub的对等设置:勾选「允许网关传输」
- 检查路由表:确认Hub和分支VNet的路由表中,存在指向对方地址空间的路由,下一跳为VNet对等互联
四、检查容器应用自身配置
- 确认容器内服务监听的是虚拟网络可达的IP(而非仅127.0.0.1),确保VNet内流量能访问到容器服务
- 核对容器端口映射:确认容器应用的外部端口已正确映射到9000端口
内容的提问来源于stack exchange,提问作者Kadu
相关产品推荐
相关产品推荐

