如何限制Azure Web应用仅允许特定网络/IP访问?
Azure Web应用公网访问限制失效的解决办法
你的问题核心在于多租户Azure App Service的流量路径不经过你配置的普通NSG,所以你设置的NSG规则根本没作用,这是App Service的架构特性导致的。下面给你针对性的解决思路:
一、最直接的方案:用App Service自带的访问限制(推荐)
这是官方推荐的方式,不需要依赖NSG,直接在App Service层面控制:
- 登录Azure门户,找到你的Web应用
- 左侧菜单点「网络」→「访问限制」
- 点击「添加规则」,设置允许访问的特定IP段、虚拟网络/子网,优先级设为较高(比如100)
- 把默认规则(优先级最低的那条)改成「拒绝」,这样除了你指定的来源,其他公网流量都会被拦截
二、如果一定要用NSG,得满足前提条件
只有当Web应用的流量完全进入你的VNet时,NSG才能生效,两种场景:
- 使用隔离型App Service环境(ASE)
ASE是部署在你自己VNet里的专属环境,此时可以把NSG绑定到ASE所在的子网,配置入站规则只允许特定IP/VNet访问,拒绝所有其他来源。 - 配置VNet集成+服务端点
- 先开启Web应用的「VNet集成」,连接到你的目标VNet子网
- 给该子网启用「Microsoft.Web」服务端点
- 然后在子网绑定的NSG里配置入站规则:允许你指定的IP/VNet访问,拒绝「Any」来源的流量
注意:你之前配置的出站规则是控制VNet到Web应用的流量,和公网访问Web应用的入站流量完全无关,所以对限制公网访问没用。
三、验证配置是否生效
配置完成后,用不在允许列表里的公网IP访问Web应用,应该会返回403 Forbidden错误,说明限制生效。
内容的提问来源于stack exchange,提问作者Jinnyroy
相关产品推荐
相关产品推荐

