目录

境内外 CDN 配置

使用效果

背景

我采用了双重 CDN 加速方案,以提升境内和境外用户对博客的访问速度。具体来说,我使用了腾讯云 CDN 服务来加速境内用户的访问,同时利用 CloudFlare CDN 免费加速境外用户的访问速度。

双 CDN 选择

Q:为什么不只使用其中一个 CDN?

A:CloudFlare 在境内访问偶尔会出现异常;腾讯云 CDN 的全球加速价格较高,而且 CloudFlare 提供了免费的加速服务,因此选择同时使用两者,以实现更全面的加速效果。

前提

我的博客是基于 Hugo 的静态博客,最初我将其部署在自己的服务器上,并通过腾讯云 CDN 进行加速。虽然也可以通过 CloudFlare 的 SSL/TLS 中转域名套用到 CloudFlare 的 CDN,但这种方式较为繁琐。为简化流程,同时为了提高 SLA,我选择了使用 CloudFlare 的 Pages,使得博客天然可以享受 CloudFlare 的 CDN 加速服务。下面是配置步骤:

将博客部署到 CloudFlare 的 Pages

  1. 按照页面指引,创建一个 Pages。 https://image.raylanyao.com/markdown/create_pages.png
  2. 按照页面指引,将博客与 GitHub 进行连接,选择合适的配置(我选择了 Hugo 的 extended 版本)。 https://image.raylanyao.com/markdown/create_pages_2.png
  3. 在创建好的 Pages 中,添加自定义域,并将要访问的域名(例如我的网站 www.raylanyao.com )加入其中。
  4. 根据要求进行 CNAME 验证,完成后即可使用该域名进行访问。

DNS 和 CDN 设置

注意,将 CNAME 线路设置为默认而不是「境外」,以防止 IP 分类错误。将线路设置为「默认」可确保非中国 IP 用户访问 CloudFlare 的 CDN。具体配置如下:

https://image.raylanyao.com/markdown/cname_cf_dnspod.png

对于腾讯云 CDN 的配置,请参考官方教程:《从零开始配置 CDN》

如果你想要实现和我一样,将博客使用 CloudFlare 的 Pages 的话,那么在设置腾讯云 CDN 的时候,设置为「自有源站」、「协议跟随」、「源站地址为 CloudFlare 给你域名解析出来的 IP」。

源站地址中,如何获取 IP 呢?

我使用的是 itdog,使用它 ping 我的域名,然后找到 CloudFlare 给我域名对应的 CDN IP。

以上步骤完成后,等待 CDN 和 DNS 配置生效,即可实现境内外访问分别使用不同的 CDN 加速。

https://image.raylanyao.com/markdown/ping_domain_status.png