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

配置虚拟网络后App Service仍无法访问Azure SQL Database的问题排查

解决Azure SQL Database仍拒绝App Service访问的问题

看起来你已经完成了基础的VNET关联配置,但App Service依然在用公网IP访问SQL,这说明出站流量还没按预期走VNET通道。以下是你可能遗漏的关键配置步骤:

1. 开启App Service VNET集成的「Route All」选项

Regional VNET Integration默认只会路由**私有IP范围(RFC1918)**的出站流量,而Azure SQL的公网IP属于公网范围,所以默认不会走VNET通道。你需要强制所有出站流量通过VNET:

  • 进入App Service → 网络 → VNET集成 → 点击已连接的VNET
  • 勾选「Route all outbound traffic through the VNET」选项并保存
  • 或者直接在应用设置里添加WEBSITE_VNET_ROUTE_ALL = 1,保存后重启App Service

2. 确认App Service集成的子网已启用Microsoft.Sql服务端点

虽然你提到VNET中已显示Microsoft.Sql服务端点,但要确保App Service实际集成的那个子网确实启用了该端点:

  • 进入Azure虚拟网络 → 子网 → 找到App Service绑定的子网(比如你创建的default子网)
  • 检查「服务端点」列表是否包含Microsoft.Sql,如果没有,添加后保存

3. 验证SQL防火墙的VNET规则关联的是正确子网

确保你在SQL防火墙中添加的虚拟网络规则,选择的是App Service集成的那个子网,而非VNET内的其他子网:

  • 进入SQL Server → 防火墙和虚拟网络 → 找到已添加的VNET规则
  • 确认子网名称、地址空间与App Service绑定的子网完全一致

4. 排查自定义路由表的干扰

如果你的VNET配置了自定义路由表,要确保没有规则把SQL的流量重新导向公网:

  • 进入虚拟网络 → 路由表 → 找到关联App Service子网的路由表
  • 确认没有优先级高于系统路由的规则,将SQL的公网IP段路由到Internet

完成这些配置后,等待5-10分钟让设置生效,再重新测试App Service对SQL的访问,应该就不会再出现公网IP被拒绝的报错了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:38:49