解决代理服务套了CloudFlare之后严重断流

如果所在的网络环境经常被百度云加速要求填验证码, 配置又没问题, 多半是这个原因.

问题分析

本文的代理服务器采用TLS+Nginx+Web+CDN方式连接. CDN用的CloudFlare. 接入CDN之后断流严重, 特点是间歇性, 大部分时间基本连不上, 只有一小段时间可以用但很快又断开.奇怪的是这种现象仅在机房发生, 在家则不出现. 不接入CDN呢, 速度还是一样慢, 还暴露了IP容易被ban, 何况上面还有我自己的博客.

实际上这个问题的解决也有很大运气成分. 这段时间在机房待的多, 访问网站的时候经常出现百度云加速的验证码界面, 还很频繁, 有时候甚至会吞掉整个get/post请求(特别是发博客的时候整篇文章被吞). 于是在网上一搜, 网上的说法是CDN防火墙配置问题, 要站长把验证码的触发条件调小, 结合之前的抓包分析, 瞬间懂了.

机房的网络环境大概就是上百人用同一个公网IP, 这种流量特大又请求频繁的IP肯定是网站(CDN节点)防火墙的重点关照对象. 结合之前频繁地要求验证码和抓包血红的Reset, 肯定是被关照了. 因为1.百度云加速和CF是合作关系, CF的国内节点是百度提供的, 自然会出百度的验证码界面2.v2**y的最高级使用姿势, kongfu___王都识别不了不知道除了CDN节点和服务器还有谁能够发Reset.

解决方法

进CF控制台, Firewall选项, 里面的Event Log里面果然一片Challenge(要求验证码的意思), 问题是要beyond Wall的流量又没长手, 谁来填验证码?只能粗暴reset.

只要在Firewall rule里面添加规则根据URL允许要beyond Wall的流量通过即可. 或者再在settings里面把Security Level调成Off, Challenge Passage时限延长即可. 也可以设置IP白名单.

从此断流明显减少, 速度大幅提升, 也不用钦定最近节点了. 亲测速度可达4MB/s+

PS: 根据CF官方以及Github上的说法, CF的Http2是假的, 幸好没有尝试H2+CDN, 虽然理论上H2更快.

赞(0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址