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

如何在保持Web应用公网可访问的同时连接私有内部资源?

推荐实现方案

核心问题分析

你之前遇到的问题根源是给Web应用本身配置了Private Endpoint,这会直接屏蔽Web应用的公网访问入口,仅允许虚拟网络(VNet)内部访问。正确的思路是:仅为需要访问的私有后端资源(存储账户、Azure Search等)配置Private Endpoint,同时保持Web应用的公网访问权限,再通过网络集成让Web应用安全对接这些私有资源。


方案1:VNet集成 + 后端资源Private Endpoint(首选)

这是最通用的安全实现方案:

  • 给存储账户、Azure Search分别创建Private Endpoint,将这些端点部署到你的VNet子网中。创建完成后,把这些资源的网络规则设置为「仅允许Private Endpoint访问」,彻底禁止公网直接访问。
  • 给你的Public Web App配置VNet集成功能,将Web App接入到包含上述Private Endpoint的VNet(或对等互联的VNet)中。此时Web App可通过VNet内部私有IP访问后端资源的Private Endpoint,同时Web App本身的公网访问完全不受影响。
  • 配置Private DNS Zone:确保Web App能正确解析后端资源的Private Endpoint域名,避免出现解析失败无法访问的问题。

方案2:VNet服务端点(Service Endpoints)

如果不想使用Private Endpoint,也可以通过Service Endpoints实现安全访问:

  • 给存储账户、Azure Search配置Service Endpoints,允许来自Web App所接入VNet子网的流量访问。
  • 开启Web App的VNet集成,将其接入目标VNet子网。Web App访问后端资源时,流量会通过Azure骨干网络传输,不会暴露到公网,同时Web App的公网访问正常可用。
  • 后端资源的网络规则设置为「仅允许指定VNet子网的Service Endpoint流量」,确保外部无法直接触及这些私有资源。

方案3:Azure App Service Environment(ASE)(高隔离需求场景)

如果你的Web App需要更高等级的安全隔离,可以部署到ASE中:

  • ASE本身部署在你的VNet内部,Web App可直接访问VNet内的所有私有资源(包括配置了Private Endpoint的存储、Search服务)。
  • 配置ASE的外部访问端点,让用户能通过公网访问Web App,同时ASE内部的流量完全隔离在VNet中,不会暴露到公网。

关键注意事项

  • 绝对不要给Public Web App本身创建Private Endpoint,这会直接导致Web App无法被公网访问——这正是你之前踩的坑。
  • 无论采用哪种方案,都要严格限制后端资源的访问来源,仅允许Web App所在的VNet子网流量进入,确保私有资源的安全性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 03:34:58