现象和结果

给博客的 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 圈子基本上都开代理,所以第三方统计大概率采集不到这部分开代理的用于的浏览记录;

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

文章作者: Mark
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 有限进步
前端 前端
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝