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

如何在不删除Azure App Service的情况下更换其IP地址,规避Cloudflare防护被绕过

解决Azure App Service暴露旧IP、绕过Cloudflare防护的方案

刚好处理过类似的场景,给你几个可行的方案,不用删除App Service就能解决IP暴露、被攻击者绕过Cloudflare防护的问题:

方案一:Azure Front Door(推荐,双重防护+隐藏真实IP)

这是最稳妥的方案,Front Door自带CDN和DDoS防护,还能完全隐藏App Service的真实IP:

  • 创建Azure Front Door实例,在后端池中添加你的App Service作为后端节点,配置好健康检查规则
  • 设置Front Door的前端主机名(可以用默认的xxx.azurefd.net,也可绑定你的自定义域名)
  • 将Cloudflare的DNS记录更新为指向Front Door的前端IP地址
  • 关键步骤:在你的App Service的访问限制(Access Restrictions)中,添加允许规则,只放行Azure Front Door的官方IP段(可以通过Azure CLI命令az network front-door list-frontend-ips --resource-group <你的资源组名> --name <你的Front Door名称>获取具体IP,或者参考Azure官方文档的IP范围),最后添加一条拒绝所有其他IP的规则
  • 这样一来,所有合法流量必须经过Front Door和Cloudflare,攻击者即使查到旧IP,直接访问也会被App Service的访问限制拦截

方案二:Azure Traffic Manager(适合不需要CDN的场景)

如果不需要CDN加速,用Traffic Manager也能实现类似的效果:

  • 创建Traffic Manager配置文件,将你的App Service作为端点添加进去
  • 把Cloudflare的DNS记录指向Traffic Manager的域名(比如xxx.trafficmanager.net)
  • 同样在App Service的访问限制中,只允许Traffic Manager的IP范围访问,拒绝所有其他流量
  • 注意:Traffic Manager是DNS级别的负载均衡,攻击者仍有可能解析到App Service的真实IP,但访问限制会拦截非Traffic Manager来源的请求,所以也能达到防护效果

关于你提到的“添加公网IP并路由流量”的思路补充

你的思路方向是对的,但普通多租户Azure App Service无法直接绑定自定义入站IP(只有App Service Environment这种单租户环境支持),所以需要通过Front Door/Traffic Manager这类中间层来实现:中间层对外暴露新的IP/域名,所有流量先经过中间层,再转发到App Service,同时App Service只接受中间层的流量,相当于用中间层的IP替换了原来暴露的旧IP

测试验证步骤

  1. 先添加自己的IP到App Service的访问允许列表,防止配置过程中自己无法访问
  2. 配置好中间层和访问限制后,通过Cloudflare访问站点,确认正常加载
  3. 直接用浏览器或curl访问App Service的旧IP,确认返回403 Forbidden,说明拦截生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:34:28