主要思路

作者github上的博客是xiaoqinxing.github.io,如何cdn加速,并用域名www.qinxing.xyz 进行访问呢?

由于国外的cdn流量较贵,因此国外就用github的源站,拥有无限的空间和不错的速度。国内由于网速较慢,需要用cdn进行加速,然后将www.qinxing.xyz 与cdn的加速域名绑定即可。

至于为什么不用云存储呢,因为我希望上传一次代码,网站可以直接更新,相比云存储还需要把生成的代码传到云端,少了一步。同时也省了一笔费用。

cdn加速

作者使用的是又拍云,由于加入又拍云联盟每个月可以有15G免费的HTTPS流量。这是活动的网址

接下来进入正题。

首先,国内云服务商的域名都是需要备案的,我的域名是在阿里云备案的,一两天就通过了,十分的简单。

第二步,在又拍云创建一个cdn服务,源站就设置成xiaoqinxing.github.io,回源协议用https(github强制https),源站证书校验关闭。使用又拍云的朋友注意了,回源管理中的回源Host一定要再填一遍源站域名,被坑了好久,这里还是xiaoqinxing.github.io。

第三步,绑定域名,首先将域名www.qinxing.xyz 绑定在这个cdn上,又拍云会生成一个CNAME名称(我理解中这个是cdn服务器的域名,CNAME就是让一个域名跳转到另外一个域名上)。其次在github.io的设置中设置自定义域名www.qinxing.xyz

第四步,域名解析,这个域名解析是在你的域名服务商那里完成的,比如说就拿阿里云来说,创建两条www.qinxing.xyz 的域名解析记录,记录类型都是CNAME,第一条记录的解析线路是默认,记录值是又拍云cdn的CNAME名称。第二条的解析线路是境外,记录值是源站域名xiaoqinxing.github.io。

第五步,申请证书,开启https服务的时候需要申请SSL证书,这个可以在又拍云里面申请免费的SSL证书。申请好了之后再https配置中,勾选https访问和强制HTTPS访问。

第六步,刷新缓存查看是否生效,由于cdn相当于把源站的内容在国内缓存了好多份,想要实时生效,需要刷新cdn缓存。另外浏览器也会把原来的网站缓存一份,浏览器里面直接刷新不出来不代表真的没有生效。拿chrome浏览器举例,刷新的时候要ctrl + F5,才能刷新缓存。

最后,如果有什么问题,可以提交工单,询求技术支持,我的问题就是在他们的帮助下解决的,感谢。

问题

  1. 在GitHub Pages设置自定义域名之后,发现每次hexo d 后都会失效,又要重新设置

    回:只要在source 目录添加一个新文件CNAME就好

    CNAME –不带任何后缀,这就是全称,里面写的是你的域名