记录 百度统计 脚本不执行的问题排查
前端 前端 187

现象和结果

给博客的 header 注入了 【百度统计】的统计脚本以后,自己访问自己的博客,发现统计脚本不执行,一直是飘红的,如下图:

错误码是:

(failed)net::ERR_CONNECTION_CLOSED

(这个是典型的请求失败的提示,意味着请求根本没有发出,一般发生自己没有网络的情况下,先按下不表)

原因就是:

clash 规则把 hm.baidu.com 这个域名分配的代理规则搜索 reject 请求直接被代理丢弃了,所以无法请求成功;

排查过程

1. 猜疑1:跨域

但是百度统计作为统计服务,肯定是允许跨域,且不限制请求来源的,所以不可能是这个原因;

2. 猜疑2:referer policy 设置的有问题

经过排查,我没有对 referer policy 进行特殊设置;

strict-origin-when-cross-origin 这个策略也没问题

结论和处理方法

仔细看了下状态码,发现请求都没发出,最后发现是开了代理,把百度统计的请求域名,直接给 reject 了;

直接处理方法:

  • 针对百度统计的域名调整策略为 direct

  • 不开代理(不可能的)

最后还继续保持屏蔽,因为,不想自己访问的记录也混淆在浏览记录里。

衍生

大致了解了以下,发现很多第三方的统计服务,clash 等代理软件都会把他们对应的域名分到 reject 处理项内,考虑到 IT 圈子基本上都开代理,所以第三方统计大概率采集不到这部分开代理的用于的浏览记录;

也可以解释为什么不同统计服务之间存在数据差异,可能是不同的代理规则,对每家的统计服务采取的分流策略差异导致的;

记录 百度统计 脚本不执行的问题排查
http://localhost:28080/archives/d02facfb-ca69-41cc-ad1c-d5fb2bf62a2b
作者
Mark
发布于
更新于
许可