最近在做ServBay这个macOS下最好的Web开发工具,经常收到赞叹:网站不备案,在国内没有节点,但为什么访问速度飞快,下载速度也有40M+?到底在基础设施上,你花了多少钱?
我经常笑而不语,回答了一句:这都不花钱,也都不是事。
创业者搞初创项目,能白嫖为啥要付费?这也太不尊重Cloudflare和AWS了。
今天我就来讲讲,这是如何做到的。
1、首先,你要有DNSPod
对!做新项目,也不要忘记为过去的项目打广告。DNSPod的IP库是和ipip强强联手联合打造的,分区域的准确性要说第二,谁也不敢认第一。
想加速,首先要做的就是能把用户的来路区分开。国内用户走专门节点,国外用户走另外的节点。
所以我们首先要把网站的域名转到DNSPod。
这里就用servbay.dev
来举例。
2、然后,你要有Cloudflare
Cloudflare的线路和节点是没得说的,全世界的访问速度基本都能维持在前一。而且还免费(够用了)。
但是,这货在中国不行。虽然他们的客户经理天天来撩我,但说实话,除了移动的网络访问速度很快以外,电信和联通的访问速度都很感人。并且吧,时不时抽风没商量。抽起风来妈都不认识的那种。
所以,面向大陆用户提供服务,Cloudflare是不行的。
正常使用Cloudflare,你必须要把域名转到Cloudflare,不然通不过验证。但是,Cloudflare并不提供分区域解析的能力。你没法区分用户来路,只能让Cloudflare自己来区分。你更没办法让某个地区的用户去访问某台服务器,某个节点。这些,都是Cloudflare自己在黑箱里面做了,用户所访问到的节点也都全是Cloudflare的。所以,结论就是,你的域名主不能转到Cloudflare,必须要用DNSPod,没商量。
那么,如何曲线达到这个目的呢?这里,你需要有第二个不常用的域名,专门侍候好Cloudflare。
这里,第二个域名就用servbay.app
来举例。
1、先在Cloudflare里面,把servbay.app
添加进去,并且验证成功。
2、然后,在Cloudflare的DNS面板,新增加一个域名,指向你网站的实际服务器。这里我拿cname.servbay.app
来举例
4、到Cloudflare的SSL/TLS
–自定义主机名
的回退源
中,输入刚才的cname.servbay.app
。这里表示的是,网站到哪里去获取
5、添加自定义主机名
,输入你网站的域名,比如www.servbay.dev,按照下面截图填写
6、添加完成后,到DNSPod添加两条记录,验证域名和用于自动生成SSL证书
7、记录都添加完成后,Cloudflare中看到的应该是正常验证完的数据
3、最后,你要有Cloudfront
为什么是Cloudfront。那是因为Cloudfront每个月有1T的免费流量,而且不像Cloudflare那样有各种乱七八糟见不得人的网站,不会被GFW特别关注。
很多人都没搞懂Cloudflare和Cloudfront,名字长得差不多。但Cloudfront是AWS家的。功能没Cloudflare那么多,但加速,够了。而且节点在香港、日本、韩国、新加坡都有,不像Cloudflare一样要路由回美国。
1、我们先申请免费的SSL证书
进入AWS Certificate Manager,点击右上角的请求
–请求公有证书
,域名中填入你的网站主域名。建议是添加一个@和一个*,这样就覆盖了一级域名和二级域名的泛域。验证方法选DNS,密钥算法用ECDSA P 256
(这个年代没人用RSA了,增加数据包大小不说,还不安全)
2、接着,还是和前面一样,进入申请详情,拷贝验证值,和Cloudflare一样进行DNS验证
3、证书验证签发后,我们到Cloudfront,点击右上角的创建分配
,填入源服务器的信息(这里比Cloudflare复杂,仔细看)
填完后,创建分配
4、创建好分配后,会拿到一个域名,拷贝下来
4、最后,回到DNSPod进行分流
前面几部,我们的CDN节点都创建完毕了。最后一步是我们需要回来DNSPod对用户进行分流。
我们分别需要创建两条(三条,考虑到翻墙用户)记录。分别对应大陆、全球、香港(翻墙)的用户。
1、首先,我们要考虑大陆用户。大陆用户要分配到Cloudfront的节点,所以需要拷贝上一步中获得的Cloudfront域名。我们在DNSPod上创建一条www
记录,线路类型选择境内
,记录值填写Cloudfront的域名
2、然后,我们要考虑大陆用户没覆盖的区域,也就是全球用户。DNSPod的记录类型默认是从小到大覆盖,为了避免某些用户没覆盖到,我们就选择默认
作为线路类型。意思就是,只要没匹配到的,都会匹配成默认
记录。
两条记录添加完,我们就可以实现了大陆用户覆盖Cloudfront,其他用户覆盖Cloudflare了。
3、再考虑到大陆有大量用户使用香港节点进行翻墙,我们希望也可以覆盖到这批用户,那么我们再添加一条记录港澳台地区
,指向Cloudfront。
至此,我们的配置就算是大功告成了。
总结
没啥好总结的,直接访问试试速度吧