Azure App Service出站请求未通过VNet集成NAT网关路由的问题
Azure App Service与NAT网关出站IP问题解析
你的理解存在偏差,Azure App Service集成VNet后,出站流量并非默认全部走关联的NAT网关,具体原因和解决方式如下:
App Service出站流量的默认规则
App Service集成VNet后,流量分为两类:- VNet内部流量(如子网内VM、私有端点资源):会走VNet路由,经过NAT网关(如果配置)。
- 互联网流量:默认走App Service原生的出站IP池,不会经过你配置的NAT网关。
让互联网流量走NAT网关的必要配置
- 创建自定义路由表,添加路由规则:地址前缀设为
0.0.0.0/0,下一跳类型选择NAT网关,并将该路由表关联到App Service所在的子网。 - 在App Service的VNet集成设置中,开启“路由所有出站流量通过VNet”(部分版本称为“强制隧道”),此设置会让所有出站流量(包括互联网流量)进入VNet并遵循路由表规则。
- 创建自定义路由表,添加路由规则:地址前缀设为
Kudu控制台的额外配置
Kudu环境默认独立于主站点,需添加应用设置WEBSITE_VNET_ROUTE_ALL=1,强制Kudu的出站流量也走VNet路由。配置后重启App Service生效。验证操作
完成上述配置并重启App Service后,在Kudu控制台重新执行curl ifconfig.io,即可返回NAT网关的公网IP。
内容的提问来源于stack exchange,提问作者Kevvv
相关产品推荐
相关产品推荐

