阿里云配置CDN加速博客

admin 2021年8月28日22:48:40评论106 views字数 3063阅读10分12秒阅读模式

博客的图床已经配置了七牛云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服务

  1. 登录阿里云CDN平台

  2. 单击立即开通。

  3. 选择适合你的计费类型,并选中服务协议。

    CDN的计费方式:

image-20201008020854005

image-20201008020752733

显然对于访问量不高的个人博客来说 按流量计费比较划算

购买CDN流量包

image-20201008021439505

购买成功后来到资源包管理界面:

image-20201008021842608

阿里云的资源包将 CDN 和全站加速资源包合并了


绑定CDN加速域名

进入阿里云控制台 CDN 下的域名管理,添加要加速的域名

image-20201008013126688

这里的配置:

  1. 加速域名是要加速的自定义域名
  2. 业务类型选 图片小文件,不是全站加速
  3. 源站信息选择 源站域名 lintstar.github.io
  4. 端口选择 443端口
  5. 加速区域选 中国内地

这里的源站信息要如下配置:

image-20201011161506797

这四个IP是 Github Page 的DNS IP地址

image-20201011162013072

这么设置的原因:

  • 因为 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

image-20201008134926803

删除之前的CNAME记录

一定要删除之前的DNS解析记录哦image-20201008203521820

Github仓库的自定义域名切记不可以删,否则熟悉的404就来啦

image-20201008204439641

这里放一张阿里云的工单记录一下自己的粗心 🐶

image-20201008204102560

添加CNAME记录

  1. 进入域名解析页面,在您需要设置的域名后面,单击解析设置。
  2. 单击添加记录,添加CNAME记录。
  • 记录类型:选择CNAME

  • 主机记录:加速域名的前缀。

    如果要加速域名为 主机记录为
    testcdn.aliyun.com testcdn
    www.aliyun.com www
    aliyun.com @
    *.aliyun.com *

这里 www 要设置两个解析(原因见文末)

  1. 一个解析到www.lintstar.top.w.kunlunca.com 解析路线 默认

image-20201008015553406

  1. 另一个解析到 lintstar.github.io 解析路线 境外

image-20201011165746547

www 添加成功如下:

image-20201011165036735

@ 添加看自己是否需要设置加速 一级域名 lintstar.top

配置CNAME完毕。CNAME配置生效后,加速服务也会立即生效。

验证CNAME配置是否生效

打开终端 分别 Ping lintstar.topwww.lintstar.top

image-20201008134446111


HTTPS证书部署到阿里云CDN

ohttps.com 申请HTTPS证书

  • 免费证书类型:DV 域名型
  • 免费证书品牌:Let’s Encrypt
  • 免费通配符证书:支持
  • 易操作性:简单
  • 证书有效期: 90天
  • 自动更新:支持
  • 自动部署: 支持

image-20201008125814837

**博客的图床开通七牛云 HTTPS 时已经通过了DNS验证申请了证书 **

具体配置看上篇文章: MacOS下重建Hexo博客2.0全记录

证书部署阿里云CDN

部署节点 -> 添加节点

image-20201008023952220

进入阿里云控制台,找到 访问控制页面 新建RAM用户

image-20201008024130475

一定要勾选 编程访问

在用户新建完成后,及时保存AccessKey ID和AccessKey Secret。

image-20201008025005038

添加权限 [AliyunCDNFullAccess(管理CDN的权限)]

image-20201008024725304

回到OHTTPS点击下一步关联证书

image-20201008025053378

部署成功:

image-20201008025138874


CDN设置HTTPS证书

上述设置后发现网站会不受信任无法访问,此时需要CDN设置好HTTPS实现全站 HTTPS

image-20201008022432232

这里就用到我们买的CDN流量包啦

image-20201008022552692

勾选我已了解后 添加之前七牛云HTTPS使用的 匹配域名*.lintstar.top的 HTTPS 证书

image-20201008022832428

配置成功:

image-20201008023143386

Google 网站加载评分:

image-20201008123414790


解决 CDN 加速的 Github pages删除原 CNAME 解析后报错无法正常更新内容的问题

当我设置 CDN 的 DNS 解析时 删除了原来的 www.lintstar.top 解析到 lintstar.github.io 的CNAME记录,只保留了 CDN 的CNAME 记录:

image-20201011171036309

在本地终端执行 hexo d 后 Github 报错:

image-20201011171139371

产生错误的原因

  • 在配置 Github Page 时使用自定义域名,需要在 source 目录下放一个 CNAME 记录,每次 hexo -d 部署时会自动生成到 public 文件夹下,它和域名的DNS解析是相互的。它的存在相当于同意自定义域名解析到它。
  • 当原来的CNAME 解析删除后没有配置新的CNAME 指向lintstar.github.io,就不能形成 github page 同意解析,然后自定义域名解析到它 的闭环

解决办法

这里 www 要设置两个解析

  1. 一个解析到www.lintstar.top.w.kunlunca.com 解析路线 默认

image-20201008015553406

  1. 另一个解析到 lintstar.github.io 解析路线 境外

image-20201011165746547

www 添加成功如下:

image-20201011165036735


解决 CDN 加速的 Github pages 循环重定向问题

碰到了重定向次数过多导致浏览器无法打开网页的问题,是由于 重定向次数大于1 次导致的。

image-20201011162320101

产生错误的原因

  • 阿里云 CDN 中有一个回源设置

image-20201011175618168

  • 我一开始错误的将这个回源域名设置成了github的域名lintstar.github.io
  • 这么设置后造成的结果是:使用CDN后CDN会回源取数据,域名回源会使用 lintstar.github.io 这个域名回源,这个又跳转到www.lintstar.top,就造成了循环跳转了。

image-20201011175759938

解决办法

  • 所以正确的应该设置为加速域名 www.lintstar.top

image-20201011174838490

该问题参考文章:https://blog.csdn.net/jcq521045349/article/details/103736623?utm_medium=distribute.pc_relevant.none-task-blog-utm_term-5&spm=1001.2101.3001.4242

FROM : lintstar.top , Author: 离沫凌天๓

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年8月28日22:48:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   阿里云配置CDN加速博客http://cn-sec.com/archives/476542.html

发表评论

匿名网友 填写信息