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

Azure VNet对等互联下Web App访问Cosmos DB私有端点403报错求助

Web App访问Cosmos DB走公网触发403的原因与解决办法

为什么流量会走公网?

  • 你当前使用的是Cosmos DB的公共账户端点(例如your-account.documents.azure.com),该域名默认会被解析为公网IP。即使Web App已集成到vnet1、且vnet1与vnet2对等互联,DNS解析仍会指向公网地址,导致出站流量走公网通道,触发Cosmos DB防火墙的拦截规则,返回403错误。
  • Cosmos DB的私有端点仅在访问其对应的私有DNS记录时才会引导流量走VNet内部路径。如果继续使用公共端点域名,系统不会自动切换到私有端点的流量路径。

解决办法

1. 配置私有DNS解析,让Web App解析到Cosmos DB私有IP

  • Cosmos DB创建私有端点时,Azure会自动生成对应的私有DNS区域(如privatelink.documents.azure.com),并在其中添加指向私有端点IP的A记录。需要将vnet1(Web App所在虚拟网络)关联到这个私有DNS区域:
    • 进入Azure门户的私有DNS区域页面,找到对应privatelink.documents.azure.com的区域,添加vnet1作为关联网络。
    • 完成关联后,vnet1内的Web App解析Cosmos DB公共账户域名时,会自动指向私有端点的私有IP,流量将通过VNet对等互联传输。
  • 也可以直接在Web App的连接字符串中,将Cosmos DB端点替换为私有域名your-account.privatelink.documents.azure.com,确保流量走私有路径。

2. 验证VNet对等互联与NSG规则

  • 确认vnet1与vnet2的对等互联是双向建立的(双方都完成了对等连接的接受)。
  • 检查vnet1的NSG出站规则:允许访问vnet2的地址空间(或Cosmos DB私有端点的具体IP)的443端口流量。
  • 检查vnet2的NSG入站规则:允许来自vnet1地址空间的443端口流量到Cosmos DB私有端点IP。

3. 确认Cosmos DB的访问配置

  • 进入Cosmos DB账户的防火墙与虚拟网络设置,确认已启用允许通过私有端点访问,且目标私有端点状态为「已连接」。
  • 确保防火墙规则没有仅限制特定公网IP访问,避免拦截VNet内部流量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 21:49:54