网站测速显示 403 是封了吗?先分清是谁在拒绝
一看到 403 就换 IP
客户说打不开,我先跑测速,看到 403,第一反应是 IP 被墙了,赶紧换了一台机器。结果新机器照样 403。后来查出来,是 WAF 的一条规则拦了某个 UA。
403 不是墙的证据。网络层真要封你,表现通常是超时、连接重置,根本不会给你一个完整的 HTTP 响应。
403 是谁返回的
403 的意思是「服务器理解了请求,但拒绝执行」。这个「服务器」可能是应用、Nginx、WAF、CDN 边缘中的任何一层。
响应头里常常有线索:Server 标识、拦截页面的样式、有没有请求 ID。几家 WAF 的默认拦截页差别很明显,见过一次就认得。
用节点分布判断是不是针对来源
用宝塔拨测的网站测速跑多地区多运营商节点,先看 403 的分布。
所有节点都 403,说明规则是全局的,跟来源 IP 关系不大,往权限配置、WAF 规则、目录索引上查。
只有部分节点 403,是典型的按来源拦截。可能海外节点被地区限制,可能某些运营商段进了黑名单,也可能 CDN 分区域配置不一致。
按运营商和地区分组,这条边界会很清楚。平均、最快、最慢和超时节点一起看,如果只有 403、没有超时,说明链路本身是通的。
五段耗时说明走到了哪
403 通常伴随很短的 TTFB:请求到了某一层,被快速拒绝,没有进入业务处理。
DNS、TCP、TLS 都正常,TTFB 很短就返回 403,问题在应用层或网关策略,跟网络质量无关。
反过来,连 TCP 都没建立就失败,那是网络层的问题——但那种情况你看到的是超时,不是 403。
换变量做对照
同一时间、同一节点,换几个变量试。换路径:首页能开、子目录 403,多半是权限或索引问题。换 UA:改了 UA 就能过,基本可以确定是 WAF 规则。换协议:https 403、http 正常,往跳转和证书配置上查。
一次只改一个变量,不然结果没法解释。三个变量都试完还是 403,再去看服务端的访问日志,那里能直接告诉你拒绝发生在哪一层。
复测和处置
改完规则后用同一批节点复测,看 403 有没有消失、有没有变成别的错误码。连续测两三次,排除缓存造成的假象。
涉及 CDN 或 WAF 的地区策略,直接找服务商确认规则,比自己猜快得多。
该警惕的是:静态资源和首页同时 403、所有节点一致、换了 IP 依旧 403。这几种凑在一起,别在客户端折腾,回到服务端和防护策略上查。