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

Azure网站遭Bot持续请求无效URL,返回410仍未停止的解决方案咨询

解决Azure网站遭Bot持续请求无效URL的方案

这种无视410状态码、跨地区发起恶意请求的Bot确实挺头疼的,结合Azure的工具生态,给你几个实用的解决思路:

  • 用Azure WAF精准拦截
    既然日志里明确标记了operation_SyntheticSource: Bot,直接在Web Application Firewall里创建自定义拦截规则就行:

    1. 进入你的App Service门户,找到左侧菜单的“Web Application Firewall”(如果没启用,先跟着向导启用)
    2. 切换到“自定义规则”标签,点击“添加自定义规则”
    3. 规则类型选“匹配”,匹配条件设置为请求头,字段名填operation_SyntheticSource,匹配值填Bot,动作直接选“阻止”
      另外,你还可以把那些被请求的无效URL(返回410的)整理出规律,比如都是/invalid-path-*这类模式,再添加一条路径匹配规则,直接拦截这类请求,省得服务器还要返回410浪费资源。
  • 限制请求来源地区
    从日志看请求集中在新加坡、美国几个州、欧洲几个地区,如果你的网站目标用户根本不在这些区域,或者正常访问占比极低,可以直接通过App Service的网络设置拉黑这些地区:
    进入App Service的“网络”→“访问限制”→“添加规则”,规则类型选“拒绝”,然后在“国家/地区”里勾选对应的地区,保存后就能拦截来自这些区域的所有请求。

  • 调整响应策略,增加Bot攻击成本
    单纯返回410对这类恶意Bot没用,你可以改成返回429 Too Many Requests,同时加上Retry-After头(比如设为3600,告诉Bot1小时后再试)。如果是自定义开发的网站,还可以在代码里记录每个客户端(或者根据请求特征)的无效请求次数,达到阈值就临时封禁IP一段时间,或者直接返回空白响应。

  • 启用Azure内置的Bot Management
    App Service自带Bot识别管理功能,能自动拦截常见的恶意爬虫:
    进入“配置”→“常规设置”,找到“Bot Management”选项,开启后它会基于微软的Bot数据库自动识别并拦截恶意Bot,你也可以在后续的日志里查看拦截情况,再微调规则。

  • 先测试再上线,避免误拦截
    不管是WAF规则还是访问限制,建议先把动作设为“记录”,观察1-2天的日志,确认规则只命中那些恶意Bot,没有影响正常用户访问后,再改成“阻止”。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 15:47:52