老加载不出图片和JS怎么办?优化啊!当然是套CDN啦(优化鬼才)

2020年6月1日——某社长

确实,让CDN代劳是个好方法,同时还能照顾到本来就不富裕的服务器带宽。这个时候我可能会首选CloudFlare,但是由于一些众所周知的原因,对于一台位于国内的服务器只能是减速器。于是,我们决定使用CloudFlare的国内分支——百度云加速

这里其实要区分一下百度云加速和百度云加速(有区别吗),自从百度也弄了个同阿里云和腾讯云一样的云服务后,原本叫百度云的网盘就干脆改名为百度网盘来消歧义了(实际上大家还是习惯叫百度云,于是后来又改成百度云网盘)

废话不多说了我们进入正题

域名解析(Domain resolve)

要想让网站走CDN,第一步就是给一个CNAME记录或是使用NS方式接入。在这之前我们的网站一直都是在用CloudFlare的DNS,因此使用CDN无非就是在解析记录后把CDN勾上就完事了。然而这一次决定用百度只能走CNAME记录,因为更换域名解析服务商的全球生效时间以及解析记录迁移带来的麻烦太多了。

在这里我就遇到了第一个坑,百度认为我并没有设置好解析,无论多久都是待验证的状态(哪怕本地ping指令已经ping出了CDN的IP)。这是为什么呢?

经过很长时间的折腾以及跟客服的沟通我找到了答案:

百度CDN要求你添加一条TXT记录和N条CNAME记录(N=你添加的子域名数),而问题就出在这条TXT记录上。我们都知道在域名解析中@和一级域名是等价的,然而我的记录值直接填上了我的一级域名(即yukicat.net)而非@,就是这一步让度娘的识别并没有认这条记录。虽然原因不明但通过更改为@就解决了。

顺带一提,TTL(Time To Live)决定了域名解析记录在DNS服务器中的存留时间,因此在添加记录后稍安勿躁,如果没有即使生效等个十分钟泡个面或者咖啡之类的就好了。

SSL证书

0202年了,SSL证书的重要性其实不需要强调的。这里简单说我遇到的坑——使用了不受支持的协议。这个问题其实是因为CDN这边没有部署到证书或者是还未生效,也是一个耐心等一下就能解决的问题。

但是还是要补充说明一下通用证书和专有证书的区别,大概就是专有证书只能部署给单独的一个二级域名,如果对不上的话……就红了

为什么斗智斗勇25小时

其实是被CloudFlare演了,解析出来以后又告诉我域名解析服务商更换了,于是中间有一段时间处于薛定谔的解析状态,你永远不知道你的域名是在哪被解析了

当然,其中大部分时间是晾在那等了,最后发现这种无止境的等待是8会有结果的,还是要去排一下错不然就会像如下图所示

然后我就水了一篇文章

届ける言葉を今は育ててる
最后更新于 2020-06-03