网站打开太慢?可能是少了这一步
[导读] 网站打开总是比别人的慢,明明没什么东西,打开也要几秒钟,图片也一直出不来,那就要检查下有没有做静态资源加速。
接着上一篇《不买服务器,怎么低成本搭建一个个人网站?》,你的低成本网站已经建好了。现在它是一个纯静态网站,直接托管在 OSS 里,配置好域名解析就能使用。
有没有想过一个问题:OSS 选择的是上海地域,那在比较远的地方,比如新疆、西藏访问,会不会比较慢?高峰时期访问量太大,网站又会不会卡?
为了改善这些问题,可以给网站配置一个 CDN,也就是内容分发网络。CDN 已经是网站里很基础的概念了,但根据我的经历,仍然有不少网站没有使用 CDN,打开需要等几秒钟。
用户通过 CDN 访问网站,大致是下面这个流程。

源站只有一个,大家都去访问,可能会遇到速度或压力问题。不知道大家有没有这种体验:别人刷视频挺快,到我这里就卡了,访问其他 App 又没问题,就这个不行。这有可能是当前连接的 CDN 节点的问题。
简单地说,CDN 用大量节点来分担源站压力,同时缩短用户获取资源的距离。阿里云的 CDN 在全球有 3200 多个节点,实际体验还会受到网络线路和缓存情况的影响。
1. 从 OSS 进入 CDN 配置
还是从 OSS 里面开始配置 CDN,有些信息会自动关联过去。
打开 OSS 控制台(https://oss.console.aliyun.com),找到网站所在的 Bucket,进入「域名管理」。可以看到 CDN 还没有配置,点击该入口进入配置。

2. 填写 CDN 加速域名
在 CDN 域名配置页面选择加速区域,根据实际业务情况考虑要不要全球加速。国内和国外的流量费用可能不同,没有对外访问要求的话,可以像我一样选择「仅中国内地」。
填写网站域名后,页面会提供 DNS 解析验证所需的 TXT 主机记录和记录值。页面也提示,加速区域包含中国内地时,域名需要备案。

3. 添加 TXT 记录验证域名
这里没有自动配置解析,那就手动配置一下。打开域名列表,找到对应域名,点击「解析」。进入解析设置后,点击「添加记录」。


记录类型选择 TXT,主机记录和记录值按 CDN 页面给出的内容填写,然后保存。截图中的主机记录为 verification,实际以自己的验证页面为准。

4. 提交域名配置
回到 CDN 配置页面进行验证。截图中的业务类型为「图片小文件」,源站类型为 OSS。检查源站信息,勾选页面上的承诺后,点击「下一步」。

成功页面忘记截图了,应该就是正常的成功提示。
5. 修改网站域名解析
之前网站域名 www 的解析指向 OSS 源站。现在使用 CDN,就要把它改为指向 CDN。
在 CDN 域名管理中找到新添加的域名,CNAME 状态显示「待配置」。打开配置向导,复制 CDN 分配的 CNAME 记录值。


回到 DNS 解析设置,修改网站域名已有的 CNAME 记录,将记录值改为 CDN 配置向导提供的地址并保存。截图中的主机记录为 www,实际操作以自己的域名和 CDN 记录值为准。

6. 检查 CDN 域名状态
返回 CDN 域名管理,等待解析生效并刷新状态。截图中 CNAME 状态显示「已配置」,域名状态显示「正常运行」。
此时截图中的 HTTPS 仍显示「未开启」,还需要另行检查证书和 HTTPS 配置。

7. 设置流量封顶
回到配置列表,记得考虑加一个流量限制。访问网站产生的流量会影响账单。正常情况下这个费用非常低,1 GB 流量 1 毛多吧,够几百次访问了;但也要防止恶意刷流量的情况。
有时候我也很难理解,为什么这种网站也有人恶意刷。所以加个封顶限制很有必要,防止哪天一觉醒来账户欠费了。流量阈值根据自己的实际情况设置就行。
我这边流量封顶已开启,统计周期为每小时,阈值为 1 GB,解封时间为 1 小时。触发封顶后域名会下线,阈值设得太低,正常访问也可能受到影响。

8. 检查 OSS 配置状态
现在可以回到 OSS 列表,打开对应 Bucket 的「域名管理」。上面 CDN 加速显示「已配置」,说明控制台已经显示接入状态。实际访问是否经过 CDN、资源是否命中缓存,还需要通过请求和响应头进一步检查。

9. 看看 CDN 能带来什么
虽然配置起来麻烦了点,但好处是实在的。你买一台云服务器,配置和淘宝、京东这些天差地别,但用了 CDN,至少在图片、文件等静态资源这块访问是接近的。新增了CDN费用,但实际上会让整个费用更低,以上一篇提到的价格为例,正常访问OSS源站是0.5元/G,CDN的费用只需要0.15元/G,加上源站回流也少很多,是不是运营费用又可以省不少。

本来只是域名备案流程的记录,没想到写偏了。主要是想尽量写全、写详细一点,结果发现篇幅太长,就把每一个点拿出来写一篇,希望也能给不同阶段的人带来一点帮助。
下一篇继续介绍 HTTPS 的配置,这也是网站访问的基本要求,同样走低成本、省钱、便捷的路线。
感兴趣的朋友可以关注我的公众号。我会持续更新相关技术内容,后面也会分享用 AI 开发程序或网站的系列教程,希望能给刚接触 AI 编程或想用 AI 提效的朋友一些帮助。