0%

利用阿里云加速 Hexo 静态博客

目前很多静态博客都是使用 GitHub Pages 来部署的,这个服务对于个人来说非常便捷,不用自己买主机,节省了一笔开销。但因为 GitHub Pages 的服务在国外,国内访问时延迟很高,如果碰上大事件,说不定就直接禁止访问了。如果希望自己站点的访问速度能快点,可以利用云服务来加速自己的网站,因为普通人的站点访问量不大,所以整体费用并不会很高。当然实现这些优化的前提是需要有自己的域名,否则很多功能都将无法使用。

使用全站加速缓存站点

因为静态站点大部分都是前端资源,所以非常适合做缓存,我目前使用的是阿里云国际提供的全站加速服务。全站加速不仅可以缓存静态资源,对于动态资源还能优化路由,大大提升站点的访问速度。阿里云的全站加速有两种收费方式,一种是流量收费,另外一种是峰值带宽收费,个人站点建议使用流量收费。下面列出阿里云国际站点关于全站加速的收费说明,详情请访问具体站点查看。

-w1400

1. 申请 SSL 证书

目前国内的阿里云和腾讯云都能申请免费的 SSL 证书,但我的域名是在阿里云国际站点申请的,结果最后发现没有申请免费申请证书的入口,好在后来发现了一个可以申请免费证书的站点。我在这个站点申请的是 TRUSTAsia 证书,这个服务提供商的证书可以提供给两个域名使用,一个是根域名,另外一个是 www 前缀的站点,我申请带两个域名的证书是因为后面的 OSS 自定义域名的时候需要使用。

-w912

2. 配置 SSL 证书

当我们申请完 SSL 证书之后就可以在全站加速页面配置我们的域名了。在首页找到全站加速的入口之后点击进入,接着进入域名管理页面。

-w1680

点击“配置”按钮之后会进入域名配置页面,接着点击 HTTPS 配置,在该配置页面添加我们证书的公钥和私钥。

-w1680

配置完证书之后需要配置一下强制跳转,目的是为了我们在浏览器输入网址时直接跳转到 HTTPS 的网址,不需要用户手动输入 HTTPS 前缀。

-w1678

TLS 版本我这里全部都勾选了,目前没有问题,但是下面的 HSTS 我尝试开启之后进入循环重定向,目前还不清楚具体的原因,点击 HSTS 说明的按钮却没有响应。后面经过尝试当开启 HSTS 时需要关闭强制跳转,这样就可以正常访问了。

3. 配置源站信息

HTTPS 配置完成之后接下来配置我们静态站点的信息,“源站信息”是用来告诉“全站加速”我们的原始资源在什么位置,当站点初次被初次访问或者缓存失效时会去回源。

-w1678

因为使用了全站加速之后我们访问站点时会先请求全站加速的服务,所以需要将站点域名的 CNAME 设置为基础信息下面展示的 CNAME,接着配置下面的源站信息。

-w1680

域名处添加 GitHub 给我们提供的二级域名,如果我们在 GitHub Pages 上面配置了强制 HTTPS,这里就选择 443 端口,如果没有开启可以试试 80 端口。

3. 回源配置

回源配置我目前选择的是“静态协议跟随回源”,配置的协议类型是“跟随”。因为全站加速配置的是 HTTPS 访问,GitHub Pages 也强制开启了 HTTPS,协议类型一样,所以就选择了这样的配置项。

-w1680

上面配置成功之后基本上就可以正常访问了,如果有问题可以去阿里云的站点查阅一下资料。后面介绍的配置项是一些优化的功能,可以根据需求选择配置。

4. 动静态加速规则

“动静态规则加速”主要对动态资源和静态资源采用不同的策略进行加速,“全站加速”是根据文件后缀来区分来写是动态资源,哪些是静态资源。我的站点网页是没有后缀的,所以应该是作为动态资源来加速的,这样我们的网页有变动也不会因为缓存的问题造成内容不一致的问题。但是动态资源进行全站加速时会优化路由,选择一条最优的路线来访问我们的页面。

-w1680

5. 缓存配置

“缓存配置”主要配置的是静态资源的缓存策略,阿里云也有给出推荐,如果长时间不会变动的资源建议配置三个月的时效,经常变动的资源配置十分钟的时效。我将站点的图片、视频、JS 文件都配置为三个月,如果你的站点样式经常变动,可以将 CSS 的时效性配置得更短一些,我配置的是一分钟,站点重新部署后很快就能生效。当然我们也可以利用“刷新预热”功能主动提交 URL 来强制刷新,如果网站长时间没有更新缓存建议用这个方法刷新一下自己的站点。

-w1680

我刷新时一般会选择目录,这样目录下面的资源都会被刷新一遍,如果选择的是 URL,那么只有该 URL 的内容会被刷新。

使用 OSS 加载图片资源

1. 创建 OSS 空间

OSS 的配置还是比较简单的,在对象存储空间点击“创建 Bucket”按钮,选择自己想要存储的区域,国际站点需要实名才能选择大陆区域,我没有实名认证,所以选择的是就近的香港区域。

-w639

2. 绑定用户域名

选择“域名管理”菜单之后点击“绑定用户域名”按钮就可以配置了,如果域名是阿里云购买的,会自动帮我们添加域名的 CNAME,我这里使用的 www 开头的域名,正好之前的证书可以复用。

-w1680

域名添加之后接着添加证书,点击“证书托管”就会进入配置页面。

-w1679

证书配置后之后开启 CDN 缓存自动刷新缓存,当我们的 OSS 文件发生变化时,CDN 会自动回源。接下来查看一下阿里云 CDN 加速的状态,如果没问题的话 OSS 的文件就能使用自定义域名进行访问了。

-w1680

这里和之前全站加速的配置类似,因为本质上都是 CDN,一个用来加速 OSS,一个用来加速外部资源而已。

如果觉得我的文章对您有用,请查看广告(Google Ads)或扫码。您的支持将鼓励我继续创作!