博客的图床已经配置了七牛云HTTPS 具体配置看上篇文章: MacOS下重建Hexo博客2.0全记录
阿里云CDN加速和全站加速DCDN的区别
阿里云有两种加速方式,CDN加速和全站加速DCDN。前者也叫静态加速,后者叫动态加速。
什么是阿里云CDN
阿里云内容分发网络(Content Delivery Network,简称 CDN)是由分布在不同区域的边缘节点服务器群组成的分布式网络。阿里云CDN将源站资源缓存至阿里云遍布全球的加速节点上,当终端用户请求访问和获取该资源时,无需回源,系统自动调用离终端用户最近的CDN节点上已缓存的资源。
什么是全站加速DCDN
全站加速(Dynamic Route for Content Delivery Network)是阿里云自主研发的融合了动态加速和静态加速技术的CDN产品。该产品一站式解决了页面动静态资源混杂、跨运营商、网络不稳定、单线源站、突发流量、网络拥塞等诸多因素导致的响应慢、丢包、服务不稳定的问题,提升全站性能和用户体验。
CDN和全站加速DCDN对比
对比项 | CDN | 全站加速 |
---|---|---|
支持资源类型 | 仅支持静态内容加速 | 同时支持静态内容和动态内容加速 |
加速方式 | 将网站的静态内容缓存在阿里云CDN节点上供你就近访问 | 静态内容使用CDN加速,动态内容通过智能路由、协议优化等动态加速技术访问你的服务器源站获取 |
源站适配 | 建议对源站的动静态内容进行分离,静态内容使用CDN加速,动态内容不使用CDN加速 | 你无需对服务器源站上的资源进行改造,全站加速会智能区分静态内容并分别加速 |
搞清楚后我们的目标就是CDN加速咯
开启CDN服务
-
登录阿里云CDN平台。
-
单击立即开通。
-
选择适合你的计费类型,并选中服务协议。
CDN的计费方式:
显然对于访问量不高的个人博客来说 按流量计费比较划算
购买CDN流量包
购买成功后来到资源包管理界面:
阿里云的资源包将 CDN 和全站加速资源包合并了
绑定CDN加速域名
进入阿里云控制台 CDN 下的域名管理,添加要加速的域名
这里的配置:
- 加速域名是要加速的自定义域名
- 业务类型选 图片小文件,不是全站加速
源站信息选择 源站域名 lintstar.github.io- 端口选择 443端口
- 加速区域选 中国内地
这里的源站信息要如下配置:
这四个IP是 Github Page 的DNS IP地址
这么设置的原因:
- 因为 Github Page 在设置自定义域名时 source 文件下放的 CNAME 文件已经将
lintstar.github.io
解析到了要加速的域名www.lintstar.top
- 如果这里源站信息仍然选择
lintstar.github.io
就等于让CDN去www.lintstar.top
请求资源,而它是需要要加速的域名
设置CNAME
加速域名添加成功后,阿里云CDN会分配对应的CNAME地址。如果想启用CDN加速服务,则需要将加速域名指向CNAME地址,访问加速域名的请求才能转发到CDN节点上,达到加速效果。
获取加速域名的CNAME地址
进入域名管理页面,复制加速域名对应的CNAME值。www.lintstar.top.w.kunlunca.com
删除之前的CNAME记录
一定要删除之前的DNS解析记录哦
Github仓库的自定义域名切记不可以删,否则熟悉的404就来啦
这里放一张阿里云的工单记录一下自己的粗心 🐶
添加CNAME记录
- 进入域名解析页面,在您需要设置的域名后面,单击解析设置。
- 单击添加记录,添加CNAME记录。
-
记录类型:选择
CNAME
。 -
主机记录:加速域名的前缀。
如果要加速域名为 主机记录为 testcdn.aliyun.com
testcdn
www.aliyun.com
www
aliyun.com
@
*.aliyun.com
*
这里 www 要设置两个解析(原因见文末)
- 一个解析到
www.lintstar.top.w.kunlunca.com
解析路线默认
- 另一个解析到
lintstar.github.io
解析路线境外
www 添加成功如下:
@ 添加看自己是否需要设置加速 一级域名
lintstar.top
配置CNAME完毕。CNAME配置生效后,加速服务也会立即生效。
验证CNAME配置是否生效
打开终端 分别 Ping lintstar.top
和 www.lintstar.top
HTTPS证书部署到阿里云CDN
ohttps.com 申请HTTPS证书
- 免费证书类型:DV 域名型
- 免费证书品牌:Let’s Encrypt
- 免费通配符证书:支持
- 易操作性:简单
- 证书有效期: 90天
- 自动更新:支持
- 自动部署: 支持
**博客的图床开通七牛云 HTTPS 时已经通过了DNS验证申请了证书 **
具体配置看上篇文章: MacOS下重建Hexo博客2.0全记录
证书部署阿里云CDN
部署节点 -> 添加节点
进入阿里云控制台,找到 访问控制页面 新建RAM用户
一定要勾选 编程访问
在用户新建完成后,及时保存AccessKey ID和AccessKey Secret。
添加权限 [AliyunCDNFullAccess(管理CDN的权限)]
回到OHTTPS点击下一步关联证书
部署成功:
CDN设置HTTPS证书
上述设置后发现网站会不受信任无法访问,此时需要CDN设置好HTTPS实现全站 HTTPS
这里就用到我们买的CDN流量包啦
勾选我已了解后 添加之前七牛云HTTPS使用的 匹配域名*.lintstar.top
的 HTTPS 证书
配置成功:
Google 网站加载评分:
解决 CDN 加速的 Github pages删除原 CNAME 解析后报错无法正常更新内容的问题
当我设置 CDN 的 DNS 解析时 删除了原来的 www.lintstar.top
解析到 lintstar.github.io
的CNAME记录,只保留了 CDN 的CNAME 记录:
在本地终端执行 hexo d 后 Github 报错:
产生错误的原因
- 在配置 Github Page 时使用自定义域名,需要在 source 目录下放一个 CNAME 记录,每次 hexo -d 部署时会自动生成到 public 文件夹下,它和域名的DNS解析是相互的。它的存在相当于同意自定义域名解析到它。
- 当原来的CNAME 解析删除后没有配置新的CNAME 指向
lintstar.github.io
,就不能形成github page 同意解析,然后自定义域名解析到它
的闭环
解决办法
这里 www 要设置两个解析
- 一个解析到
www.lintstar.top.w.kunlunca.com
解析路线默认
- 另一个解析到
lintstar.github.io
解析路线境外
www 添加成功如下:
解决 CDN 加速的 Github pages 循环重定向问题
碰到了重定向次数过多导致浏览器无法打开网页的问题,是由于 重定向次数大于1 次导致的。
产生错误的原因
- 阿里云 CDN 中有一个回源设置
- 我一开始错误的将这个回源域名设置成了github的域名
lintstar.github.io
- 这么设置后造成的结果是:使用CDN后CDN会回源取数据,域名回源会使用
lintstar.github.io
这个域名回源,这个又跳转到www.lintstar.top
,就造成了循环跳转了。
解决办法
- 所以正确的应该设置为加速域名
www.lintstar.top
FROM : lintstar.top , Author: 离沫凌天๓
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论