405状态码是什么意思?拨测看到这个码该往哪查
监控一片 405,站点其实没挂
有次给一个接口加监控,配完立刻告警,状态码全是 405。登上去手动打开首页,一切正常。查了半天才反应过来:这个路径只接受 POST,监控发的是 GET。
405 不是在说「没有这个地址」,而是在说「这个地址不接受你这种请求方式」。两件事差得很远。
404、403、405 各说各的
404:这个路径不存在。路由没匹配上,或者文件真的没了。
403:路径存在,但你没权限。可能是目录权限、WAF 拦截、来源限制。
405:路径存在,方法不对。接口只允许 POST,你用了 GET;或者只允许 GET,你用了 DELETE。
这三种经常被混为一谈,但排查方向完全不同。看到 405 就去找文件,基本是白费。

宝塔拨测控制台:定时拨测任务、节点与告警配置
谁会返回 405
应用路由是最常见的一层。框架明确声明了某个接口只收 POST,其他方法进来直接拒绝。
Nginx 的 limit_except、API 网关的方法白名单、CDN 的方法过滤、WAF 的规则,也都能返回 405。有些防护产品会直接拦掉 PUT、DELETE 这类不常见的方法。
所以看到 405,先别认定是代码问题。
响应头里的 Allow 是答案
405 响应一般会带一个 Allow 头,列出这个资源支持的方法。里面写了 POST 没写 GET,就说明请求方式不对;里面是空的,或者压根没有这个头,多半是网关或 WAF 自己生成的。
这个细节比状态码本身有用,能直接区分「应用拒绝」和「中间层拦截」。
用拨测把范围切开
在宝塔拨测的控制台配 HTTP 监控时,先确认探测的路径和方法跟真实用户一致。首页用 GET,提交接口用 POST,别拿一个 GET 去测只收 POST 的地址。
同一路径换成浏览器访问、用 curl 指定方法再试一次。命令行能过、监控不过,问题在探测配置;两边都 405,才往应用和网关查。
多地区多运营商节点一起看。所有节点都 405,是统一策略;只有部分节点 405,更像是某个 CDN 边缘或区域网关的规则不一致。
复测和该警惕的情况
改完方法或规则,用同一批节点复测两三次,确认 405 消失、状态码回到预期,而不是只在自己电脑上试通。
该警惕的是:静态页面 GET 也返回 405,说明方法限制配到了不该配的地方;405 和 403 交替出现,可能是 WAF 规则在动态调整;Allow 头里出现了你没开放过的方法,那就要查是谁改的配置。
405 本身不可怕,怕的是把它当成 404 去查,越查越远。