迫于 GitHub 私有仓库不支持 Github Pages,而 GitLab 的 GitLab Pages 不仅速度慢(中国大陆),而且部署还贼麻烦。于是有些 jonbgua.com 子域的站点就被部署到支持自动从 Git 仓库拉取静态网页并自动部署的 Netlify 上了。但经过测试,Netlify 只解决了 GitLab 部署困难的问题,中国大陆的访问速度还是那个样……

目前酱瓜的方法是引入 Cloudflare CDN,使用的是 CNAME 接入(当然你用 NS 接入也差不多)。但由于 Netlify 和 Cloudflare 都需要 CNAME 指向自己才能正常给域名签发 SSL 证书……

当然你肯定想到了一个骚操作,那就是将同一个域名同时指向两个 CNAME。不过我试了试,由于 Netlify 在签发证书时,会有 Netlify 和 Let’s Encrypt 两次验证,而两次都能解析到 Netlify 的难度太大了……

最终酱瓜的解决方案是这样的:

  1. 将域名指向 Cloudflare 的 CNAME
  2. 在 Cloudflare - domain.com - Crypto - Origin Certificates 里面签发一张证书
  3. 将上述证书添加到 Netlify - domain.com - Domain Settings - HTTPS / Set Custom Certificate 里面
  4. Cloudflare 的 SSL 等级设置为 Full(Strict)

关于第 3 步有个小提示,最底下 “Intermediate certs (CA Certificate)” 的内容在 Cloudflare 官方帮助页可以找到: 使用 Origin CA 创建和管理证书 – Cloudflare Support