简单介绍
在折腾联通宽带下的虚拟机时,需要换源,在执行之前写的脚本的时候,发现阶段性无法链接,因此做了一些测试。
测试地区线路
北京联通、重庆联通、江苏南京联通、山东枣庄联通、浙江宁波电信、山东潍坊移动
网站影响
找了几个联通的用户测了一下
浏览器正常访问是不影响的
触发条件应该是非浏览器访问 + Cloudflare + GTS
但我在curl上面指定UA,依然阻断,具体怎么识别浏览器的还不清楚。
也就是会影响阻断命令行下载、api接口之类的请求。
不适合脚本站或者需要对接客户端提供API服务。
阻断情况
我执行了以下命令进行测试
curl --insecure --resolve "www.baota.me:443:172.67.69.150" "https://www.baota.me" -o "www.baota.me.txt" --max-time 10
测试发现所有联通都会阻断
第一次 执行上述命令 正常访问
第二次 执行上述命令 无法访问
阻断规律
为了搞清楚阻断频率因此我在江苏南京联通做了个每3分钟访问一次的计划任务
连续阻断情况为1-3次 即有时候会阻断3-9分钟
阻断过后会有15分钟左右的正常访问时间
然后进入下次阻断周期
目前测试阻断全部CloudFlare的IP,包括一些跟CF合作的IP。
阻断原因
原以为是阻断了CF的IP或者ASN,经过loc论坛回复得知可能是因为证书品牌的缘故。
因此单独使用一个NS接入的域名进行测试.
测试结果
使用GTS证书
还是跟上面一样访问一次就阻断了。
然后使用API进行更换证书为let's证书
连续测试多次并且更换其他IP都没有阻断的情况
证书版本测试
群里有老哥说可能是因为tls1.3+ech导致的无差别阻断。
然后我改进了一下命令 指定tls最大版本1.2进行测试
curl --insecure --resolve "www.baota.me:443:172.67.69.150" "https://www.baota.me" -o "www.baota.me.txt" --max-time 10 --tls-max 1.2
测试阻断依旧
解决办法
Cloudflare NS方式接入,可以使用api更换证书颁发机构。
Cloudflare SAAS方式接入的无解,API提示需要Enterprise套餐。
也可以使用其他CDN来服务联通线路的用户。
评论 (0)