CDN与国内服务器代理中转
一、引言
随着国内电信事业蒸蒸日上,国内电信运营商的业务都逐渐向内地转移,导致内地互通的人均带宽越来越多,内地通往国外人均带宽越来越少。通往国外的带宽还很大程度上取决于电信运营商针对国外流量的态度,同一个海外VPS的情况下,在使用浙江移动宽带能跑30Mbps左右,使用浙江电信宽带的速度仅<1Mbps,几乎呈现阻断状态。
手上拥有海外VPS一台,饱受国内网络困扰,尝试使用Cloudflare做CDN中转加速,效果仍然不理想,电信访问的速度仍然<1Mbps。
测试手边的国内云服务器对Cloudflare的速度,还不错(国内云VPS直连海外VPS的速度也是惨不忍睹),尝试使用国内云服务器作为国外流量进入国内的二次中转。
二、准备工作
在海外vps上事先完成你所需要的服务搭建,如v2等,因为部分服务搭建过程中需要利用到本身的域名,因而必需在设置CDN之前完成服务搭建工作,防止域名在添加CDN后不再解析到服务器IP而导致的一系列错误。
三、设置CDN中转
CDN(Content Delivery Network),即内容分发网络,通过尽可能避开互联网上有影响数据传输速度和稳定性的节点,加快内容传输速度,提高内容传输稳定性。通过网络中大量节点服务器构成的一层虚拟网络,CDN能够实现实时根据网络流量和各节点的连接及负载情况以及到用户的距离、响应时间等综合信息,将用户的请求引导至离用户最近的服务节点上。</span>
进入cloudflare官网https://www.cloudflare.com/
完成注册,并将本身域名的dns服务器转移过去
创建域名解析记录,Proxy status的选择成Proxied
按照海外服务器上搭建的服务而选择SSL/TLS加密的类型。如使用V2则选择Full。详细的说明可以查看示意图,比后面的文字说明简明多了。
四、国内的流量中转
这里使用brook的一键设置脚本
<pre class="prism-highlight prism-language-bash">wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/brook-pf.sh && chmod +x brook-pf.sh
brook版本用最新版设置好像有一些问题,这里我选择了
<pre class="prism-highlight prism-language-bash">v20200502
安装完成后设置转发界面
被转发IP请输入挂了CDN的域名,不要直接输入海外VPS的IP,不然CDN将无效,其他都是傻瓜式操做,跟着脚本来就好了。
五、速度测试
测试速度基本跑满了国内VPS的带宽,基本达到了勉强可用的程度。
六、注意事项
- 效果也取决于你国内服务器的网络,可以先测试一下你国内服务器访问CDN的速度
- 并不能做到全段口转发
- 最后得到的海外VPS访问速度=min{海外VPS于CDN间传输速度,国内VPS与CDN间传输速度,本地客户端与国内服务器间传输速度},一般来说,海外VPS与CDN间的传输带宽应该都是很大的,但在测试过程中,也出现过某台海外服务器与CDN间速度仅有几兆的情况,可能是由于多个服务器共享机房带宽引起的,可尝试更换不同地区、不同机房、不同IP段的服务器做测试。
- 使用了三台Vultr服务器做测试,基本最后的传输瓶颈都在国内VPS的上传带宽上
- CloudflareCDN测速工具 https://github.com/XIU2/CloudflareSpeedTest
- 如果本地访问CDN足够快,那么其实无需设置国内VPS中转;如果国内VPS访问CDN的速度也就那样,那么其实设置国内中转也没啥用