如何为Azure App Service配置访问限制?适配多IP与内部应用场景
Azure App Service 访问限制配置方案
一、基础功能支持
Azure App Service 具备和 Azure SQL Database 类似的IP访问控制能力,核心功能是访问限制(Access Restrictions),可以精准控制哪些来源能访问你的应用服务。
二、针对你的场景的具体配置
1. 允许家庭IP访问
在App Service的「访问限制」面板中添加一条允许规则:
- 规则类型选择「IP地址」
- 输入你的家庭公网IP(格式如
192.168.1.1/32,/32代表单个IP) - 设置较高优先级(比如100,数值越小优先级越高)
2. 允许横向扩展的Blazor应用访问
由于Blazor应用横向扩展后会有多个动态变化的出站IP,推荐两种方案:
方案一:虚拟网络(VNet)集成(更优)
- 将Python服务和Blazor应用部署到同一个Azure虚拟网络(VNet)中
- 在Python服务的访问限制里添加允许规则,类型选择「虚拟网络」,指定对应的VNet和子网
- 同一VNet内的Blazor应用实例无论怎么扩缩容、更换IP,都能正常访问Python服务,无需手动维护IP列表
方案二:添加Blazor应用的出站IP列表
- 从Blazor应用的「属性」页面获取所有出站IP地址(包含所有可能的扩缩容IP)
- 将这些IP批量添加到Python服务的访问允许规则中
- 注意:当Blazor应用更换服务计划或扩缩容导致出站IP变更时,需要及时更新规则
3. 拦截所有未授权请求
确保访问限制的默认规则设置为「拒绝」,这样除了白名单内的来源,所有公网请求都会被直接拦截,从根源上避免无关请求冲击。
三、额外安全补充
结合你提到的请求头令牌认证,建议在访问限制的基础上,在Python服务代码中增加令牌校验逻辑,实现双重安全防护。如果Python服务完全不需要对外暴露公网,还可以直接关闭其公网访问,仅通过VNet内部访问,进一步降低攻击面。
内容的提问来源于stack exchange,提问作者David Thielen
相关产品推荐
相关产品推荐

