UCloud CDN(一):免备案网站实现国内 CDN 加速,动静分离提升博客访问速度
本文最后修改于 168 天前,其中的信息可能已经有所发展或是发生改变。

前言

弄个博客主要是为了自己记录点东西方便,不想折腾备案;但是国外服务器到国内物理距离就造成了国内访问速度不理想。又不想备案,又要国内 CDN,还得要支持 HTTPS,折腾一下。

国内提供 CDN 服务的商家也很多,阿里云、腾讯云、又拍、七牛等等,但是都要求使用备案域名。查了一下资料,参考了别人的过程[2],这里记录一下我的折腾过程。

正文

使用 UCloud[1] 的对象存储和云分发服务;UCloud 实名认证之后送 50 元的余额,可以购买大约 150G 的流量包,足够小网站用很久了。

初始化对象存储和 CDN

首次使用云分发功能时会让你选择计费模式,选择“流量包预付费”即可。

选择计费模式

之后再购买一些 CDN 流量,先买个 10G 试试吧。

购买流量
购买流量

接下来去对象存储,创建一个存储空间;如果提示未开通,你就根据提示发起一个工单,工作人员会给你开通的。

创建存储空间

不知道区域选择有什么影响,就选北京吧;空间类型选择“公开空间”,名称随意。

创建存储空间

创建好存储空间之后进入该存储空间详情,在域名管理页中开启测试域名。如果没有购买 CDN 流量的话是开启不了的,所以在之前你需要先购买 CDN 流量。

开启测试域名

设置镜像回源

设置镜像回源,在“镜像回源”标签页中添加回源规则。

设置镜像回源

设置缓存规则

再转到云分发页面,在域名管理标签页中,正常情况下,你现在能看到一个新的加速域名;进入该加速域名详情,在“域名配置”中配置缓存规则。

设置缓存规则

官方默认提供了图片文件的预设,js 文件、css 文件以及字体文件依葫芦画瓢设置即可;除了这些静态文件以外其他的文件我都不想缓存。

设置缓存规则

设置完成之后不要忘了点击“确认配置”使配置生效。

解决跨域问题

还需要再配置一下来解决跨域的问题,不然字体文件加载不了。

自定义响应 Header 头
自定义响应 Header 头

配置 HTTPS

此时 CDN 加速就已经配置好了,但是不支持 HTTPS,还需要再折腾一下;接下来为加速域名申请 SSL 证书并上传。

2020/5/10 更新:使用 SSL For Free 申请证书的时候可能会不成功,可以参考后续文章申请 TrustAsia 的证书。

申请 SSL 证书

使用 SSL For Free[3] 来获取免费的 SSL 证书,输入你的加速域名。

SSL For Free

接下来需要验证你对域名的管理权,选择手动验证。

手动验证

下载验证文件(步骤图中序号1),保存到本地。

手动验证的步骤

之后你需要把该文件上传到对象存储中。根据验证链接可以知道该文件要求的存储路径为/.well-known/acme-challenge/,所以你需要把验证文件放在存储空间的对应目录。

UCloud 中不让直接创建以小数点开头的文件夹,感觉是这里的条件判断有问题。

直接创建 .well-known 文件夹不成功

但是可以在上传的时候指定目录前缀为.well-known/acme-challenge/,就会自动创建好目录 。

上传验证文件

上传成功之后你就可以在对应目录看到验证文件。

上传成功后确认

接着访问验证链接(步骤图中序号2),确保正确访问;接下来就可以下载已经签发好的证书了(步骤图中序号3)。得到的文件是一个压缩包,里面包含证书certificate.crt,私钥private.key以及 CA 证书ca_bundle.crt

上传证书

下一步把证书上传到 UCloud,在云分发的“证书管理”标签页上传证书,名称随意;CA 证书非必要,可以省略。

上传证书

再去“域名管理”标签页中开启 HTTPS 加速。

开启 HTTPS 加速
HTTPS 加速配置完成

在 WordPress 中配置 CDN

这里用到了 WP Super Cache 插件,设置很简单,指明 CDN 域名就可以了。

在 WP Super Cache 中设置 CDN 地址

配置完成

此时所有的配置就已经完成了,WP Super Cache 会重写满足条件的链接,让浏览器去 CDN 域名获取静态资源,CDN 节点会从对象存储中获取资源,而在对象存储中设置了镜像回源,如果找不到资源的话会从博客网站获取资源然后保存到存储空间。

后记

虽然是折腾了一点,但是最后的结果还是让人很满意的;本来特别菜的服务器,坐标美国,在国内的访问速度还不错;还有一点不满足的就是加速域名的证书有效期只有 3 个月,每当到期的时候还要手动更新证书。

还有,免费的流量用完之后还是要自己花钱买的,不过也不是很贵。

UCloud 也提供一年期限 TrustAsia-DV 的免费 SSL 证书,我在申请的时候提示未知错误,也懒得发工单去找工作人员了,并且申请的时候需要填很多信息;所以最终决定用的是 Let’s encrypt 签发的证书,简单,快速,缺点就是有效时间短。

但是达成了目的:不备案,CDN,HTTPS。

暂时先这么用吧,以后再折腾,毕竟折腾永无止境。

参考资料

  1. UCloud – 中立 安全 可信赖的云计算服务商
  2. 未备案wordpress网站使用UCLOUD免费CDN并开启https访问-Litchi’s Blog
  3. SSL For Free – Free SSL Certificates in Minutes

评论

  1. 匿名
    Macintosh Safari 13.0.5
    8月前
    2020-3-11 11:54:12

    Ucloud 现在是不是已经要求备案啦?

    • 失去梦想的咸鱼 博主
      Windows Chrome 78.0.3904.108
      8月前
      2020-3-13 10:37:33

      我看了一下,没有呀,默认给的测试域名是已经备案的。唯一的限制是三个月未使用会被回收。

      • admin
        Windows Chrome 80.0.3987.132
        8月前
        2020-3-15 11:13:46

        昨晚问过客服了,国外服务器无法备案所以不支持使用Ucloud国内CDN加速了

        • 失去梦想的咸鱼 博主
          iPhone Chrome 80.0.3987.95
          7月前
          2020-3-16 14:24:21

          是这样的,因为它自带一个测试域名,所以就不需要考虑域名备案的问题了,然后再为这个域名申请一个ssl证书就可以启用https了,这就是这篇文章的内容。
          你也不需要去为自己的网站域名备案,因为加速域名跟网站域名没关系。
          选用 UCloud 的原因是它的测试域名的使用政策比较宽松,只要保持活跃测试域名就可以一直用,当然,还有初始赠送的不少余额。

  2. 匿名
    iPhone Safari 13.0.5
    7月前
    2020-3-18 19:51:18

    你好 博主 我也想整一个博客玩一下,但苦于学生党没有多少闲钱,你这个域名在哪里买的,价格多少呢

    • 失去梦想的咸鱼 博主
      Windows Chrome 78.0.3904.108
      7月前
      2020-3-19 10:18:10

      本来在 GoDaddy 买的,但是续费有点贵,后来就把域名转移到 namesilo 了,现在每年续费价格100元左右;服务器也是个辣鸡服务器,一年花费80元左右,总计算下来花费也不是很多。

  3. WangZha
    Windows Chrome 80.0.3987.163
    7月前
    2020-4-13 19:00:55

    你好,我在2.4步发现ucloud没有高级设置了,请问这一步现在如何解决?

    • 失去梦想的咸鱼 博主
      Windows Chrome 80.0.3987.163
      6月前
      2020-4-19 14:35:39

      我看了看还是有的,跟以前一样没变化,位于云分发设置下,你看看你是不是找错地方了

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇