You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Azure App Service访问私有虚拟机本地运行的Windows服务

App Service 经VNet集成访问VM内服务的配置方法

核心访问地址

只要VNet集成配置正确,不需要使用任何特殊映射地址,直接用虚拟机的私有IP拼接服务端口即可,访问地址格式为 x.x.x.x:abc,根据服务协议补全前缀就是最终调用地址,比如HTTP服务对应 http://x.x.x.x:abc。
注意:绝对不要用localhost或者127.0.0.1访问,这个地址指向App Service自身的运行环境,根本到不了目标虚拟机。

必做配置检查(90%的连接失败都是这几个问题)

  • 校验VNet集成有效性:App Service配置的VNet集成,必须和目标虚拟机在同一个虚拟网络内;如果跨VNet部署,要提前配置VNet对等并打通路由,确保集成子网的流量能正常转发到虚拟机所在子网。
  • 放行虚拟机本地防火墙:VM内能通过localhost:abc访问只代表服务本地运行正常,不代表外部流量能接入。需要在Windows Defender防火墙(或第三方安全软件)里添加入站规则,放行abc端口的TCP流量,来源地址段填App Service集成子网的CIDR即可,不需要全开公网访问,安全性有保障。
  • 确认服务监听地址:不要让目标Windows服务只绑定127.0.0.1回环地址,需要把服务绑定到0.0.0.0(监听所有网卡地址)或者直接绑定VM的私有IPx.x.x.x。改完配置先在VM本地测试访问x.x.x.x:abc,如果本地用私有IP都访问失败,先调整服务监听配置再往下排查。
  • 检查NSG规则:虚拟机所在子网关联的网络安全组、虚拟机网卡绑定的网络安全组,都要添加入站允许规则,放行来自App Service集成子网地址段、目标端口为abc的TCP流量,规则优先级要高于默认的拒绝入站规则。

连通性验证方式

所有配置调整完后,进入App Service的Kudu高级工具,打开内置的PowerShell或Bash控制台,执行命令 tcpping x.x.x.x:abc 做连通性测试:

  • 如果返回连通成功,说明网络链路完全正常,Web应用里直接用前面提到的x.x.x.x:abc地址调用服务即可
  • 如果返回连通失败,按「NSG规则→VM本地防火墙→服务监听地址→VNet路由配置」的顺序倒推排查即可

跨区域部署场景注意:如果App Service和虚拟机不在同一个Azure区域,配置VNet对等后要确认开启了跨区域流量转发,同时VNet集成侧没有配置自定义路由拦截到虚拟机网段的流量。

内容的提问来源于stack exchange,提问作者Mihir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 07:06:08