曲线救国之Hexo启用CDN

Beach ball in a swimming pool

域名备案

​ 域名备案的目的就是为了防止在网上从事非法的网站经营活动,打击不良互联网信息的传播,如果网站不备案的话,很有可能被查处以后关停。根据中华人民共和国信息产业部第十二次部务会议审议通过的《非经营性互联网信息服务备案管理办法》精神,在中华人民共和国境内提供非经营性互联网信息服务,应当办理备案!未经备案,不得在中华人民共和国境内从事非经营性互联网信息服务。而对于没有备案的网站将予以罚款或关闭。[1]

简单点

​ 要是想在国内使用vps,虚拟主机等其他服务都是需要备案的,而未备案的只能使用国外的服务,网速是没有保障的。

​ 当然博主之前也是有备案的,但是注销了。备案注销后则是简单的套了个cloudflare CDN,也就没有去管它了,随着最近习惯加图片之后开始网站变得缓慢了。

曲线救国

​ 既然内容是无法放在国内,但是无法阻止我用又拍云加速静态资源。

原理:利用其他的服务或是工具镜像博客站,将博客站的静态资源改成镜像服务的地址。

首先你得要有个实名制的又拍云账号(推荐)或是其他实名制CDN服务账号。然后找一个【二级域名 备案 免费】网站并注册,建议找个花钱的(稳定一些),下面博主说下如何加速。本文仅供参考作用,若出错误请先谷歌再则留言寻求帮助。

需求

  1. 实名制又拍云账号,已加入【又拍云联盟(免费获取每月 10GB 存储空间 + 15GB 流量)
  2. (假装)备案域名: https://you.cdn.com

又拍云新建CDN,根据自身填写【源站设置】,【回源 Host】等,在【域名管理】》【加速域名】填写https://you.cdn.com

【边缘控制】》新建一个叫静态文件的规则,如下

静态文件规则

匹配值:^.*(ttf|xml|svg|woff2|js|css|gif|png|jpe?g)$

如果你也是用的cloudflare CDN则在建一个国外回源的规则,具体如下

国外回源规则

URI 字符串提取: ^/(.*)$

重定向地址: https://nobige.cn/$1

如果你也是有使用博主修改的hexo-asset-image只需要在根目录的_config.yml文件添加以下代码,若未使用可以参考《hexo利用插件简单的使用管理图片

1
2
3
4
# 图片CDN 例https://cdn.nobige.cn/
img_cdn:
enable: true
cdn_domain: https://you.cdn.com/

接着则是要修改next主题下的_config.yml文件,将文件中的

1
2
3
4
# Assets
css: css
js: js
images: images

改成,https://you.cdn.com/为你的CDN地址

1
2
3
4
# Assets
css: https://you.cdn.com/css
js: https://you.cdn.com/js
images: https://you.cdn.com/images

还有一个是字体,以及头像图片,也可以根据需求进行修改。

1
2
3
vendors:
# Internal path prefix. Please do not edit it.
_internal: https://you.cdn.com/lib

网站图标

1
2
3
4
5
6
7
favicon:
small: https://you.cdn.com/images/favicon-16x16.png
medium: https://you.cdn.com/images/favicon-32x32.png
apple_touch_icon: https://you.cdn.com/images/apple-touch-icon.png
safari_pinned_tab: https://you.cdn.com/images/safari-pinned-tab.svg
#android_manifest: /images/manifest.json
ms_browserconfig: https://you.cdn.com/images/browserconfig.xml

头像

1
avatar: https://you.cdn.com/images/avatar.png

自此便算是全部修改完了,若你有加入【又拍云联盟】也是在页脚添加了logo的图片也要修改next\layout\_partials\footer.swig文件。

不足

  1. 使用这种第三方提供的备案域名,有可能因其他使用者的非法行为致使域名备案号被注销后期还需要二次修改配置文件
  2. 若是自己利用香港日本等VPS自行搭建的CDN则有可能面临其他问题
  3. 最简单也是最麻烦的办法便是自身备案。

参考