前言
由于众所周知的原因,国内访问国外的服务器速度较慢。在没有特殊线路(直连、CN2GIA等)的加持下,路由线路左绕右绕,严重影响国内访问速度。
能使用国内服务器当然是最好的,但是高昂的流量&带宽价格以及域名备案门槛让人劝退。所以,本文章提供的加速方案是针对线路一般的海外服务器网站访问速度慢的问题。
如果你的源站IP被墙了,此方案也可以让你的网站在国内正常访问~
如果你的源站服务器线路是CN2GIA级别等高级全程直连线路,那么直连你的源站就好了,完全没必要使用本文的方案,因为你的源站已经够快的了。
思路
先讲述实现思路,再介绍具体实现方案。
利用阿里云海外CDN,中国访客大部分会解析到亚太一区节点,而亚太一区CDN节点到中国大陆的线路大部分都经过了优化(香港节点和新加坡节点为三网GIA),而节点到源站服务器的线路又没有经过我国国际出口,没有GFW的审查所以速度本来就不会太慢。
这种方案对源站服务器到国内线路差的很友好,特别是已经被QoS的IP。
本站便采用了这个方案。本站托管于Github Pages,众所周知国内访问速度是很慢很慢的。
建议
1.建议使用区域DNS,仅仅是中国大陆解析到阿里云海外CDN,境外区域解析到CloudFlare或者直连都可以,避免产生更多的CDN流量。
2.建议将网站的静态文件资源放入公共CDN,比如JsDelivr,以减少阿里云国际CDN流量的消耗。
开始
开通阿里云CDN服务
进入阿里云官网,登录,进入CDN管理控制台,添加域名。这些步骤简单不再赘述。
加速域名填写你需要加速的域名,业务类型选择“图片小文件”,源站信息和端口根据你的需求填写,加速区域选择“全球(不包含中国大陆)”
填写完毕后单击“下一步”。
完成后返回CDN管理控制台的“域名管理”,在列表中找到刚刚添加的域名对应的CNAME值,复制下来,下一步要用到。如果没有,请稍等片刻。
设置域名解析
在建议里已经提出了采用区域DNS方案,所以解析设置教程也按照这个方案来。
这里以阿里云DNS为例
先添加国内解析值
记录类型选择CNAME,主机记录按照你的需求填写,记录值填写刚刚复制的CNAME值,解析线路选择“默认”
再添加国外解析值
记录类型、主机记录、记录值根据你的需求填写,比如源站信息,解析线路选择“境外”
其他设置
等待解析生效后就可以使用了。其他设置比如缓存文件时间、SLL等就按照你的需求自行设置了。
最后
感受一下访问速度是不是大幅度提升啦~
可以购买个CDN流量资源包,亚太1区100G/1年/49.5元,价格还是相当不错的。
这里说下仍然存在的问题:
由于Anycast的玄学原因,国内访客可能会解析到美国的CDN节点,导致速度提升不大甚至负优化。如果仅购买了亚太1区的流量包,解析到其他地区节点,可能会造成额外费用。
阿里云官方明确了不能指定CDN节点,所以这个问题目前无解。
我曾尝试过PING出阿里云CDN的香港节点IP和新加坡节点IP进行解析,但问题频出,因为CDN节点的IP并不是固定的,会不定时变更。
如果有办法指定节点,选择香港和新加坡节点是最优的,三网GIA。
还需要大家再出谋划策~