一劳永逸申请有效期长达 15 年的通配域名证书!
目前提供免费域名证书的厂商有很多,适合个人网站,使用也比较多的是 Let‘s encrypt,如果是手动申请的话,需要每 3 个月续期一次,尽管可以实现自动申请,但是也不可避免会有各种意外导致续期失败的情况。而且 Let‘s encrypt 申请的都是各种子域名的证书,如果该域名下子域名比较多的话,就需要逐个去申请,管理成本就比较高。
最近了解到 Cloudflare 提供通配域名的证书,可以很好的解决这个痛点。前提条件是域名需要迁到或者注册到 Cloudflare。
把域名迁到 Cloudflare
2015 年我在 GoDaddy 注册 slarker.me 这个域名,至今已有 7 年多了,每年续费大概是 22 刀。如今 Cloudflare 也支持注册域名了,而且价格非常便宜,在所有的域名注册商里算是最便宜的。看了下迁移费用大概是 11.51 刀,迁移成功后会发现域名到期时间会在现有的基础上延长一年,也就是说迁移其实是免费的,只是在 cloudflare 这里续期了一年域名费用。
整个迁移流程也比较简单,因为我的 DNS 解析一直都在 cloudflare,所以也不用担心 DNS 的设置之类的需要修改。直接在 GoDaddy 的账户里选择迁出,会生成一个授权码,在 cloudflare 的页面里输入这个授权码,之后结算支付,再等待大约 5 天就完成了,非常省心。考虑到每年都可以省 10 刀,这么算长期用的话也可以节省不少费用。
申请通配域名证书
在 Cloudflare 域名控制面板里,将 SSL/TLS - 概述
选项设置为 完全(严格)
模式。
在 源服务器
中点击创建证书,选择 私钥类型
为 RSA(2048),主机名称为默认(涵盖域的顶级和通配符)就好,有效期选择 15 年。创建之后会生成网站证书,记得保存好生成的私钥 Key,Cloudflare 只会在这里显示一次。
拿到证书之后,把证书添加到自己的网站的 SSL 设置里,因为是通配域名,各种子域名都可以无脑添加,非常省事。
开启 CDN 加速
最后还需要开启 Cloudflare 的 CDN 才能生效,也就是在 DNS 设置中,把需要使用通配域名证书的各个子域名的代理状态打开,打开之后会显示橘黄色的小云朵。
修改完毕之后重载下 Nginx 设置,稍等一会就生效了。
使用 Cloudflare 证书的优缺点
由于需要打开 Cloudflare 的 CDN 才能使用这个通配域名证书,而国内并没有 Cloudflare 的 CDN 节点,所以可能原本线路质量比较好,国内访问速度比较快的网站在开启之后速度会变慢,延迟会高一些。比如我的网站,服务器位于香港,国内访问也就 25~100ms 左右,在打开 CDN 之后,延迟会增加到 150~200ms。虽然延迟会增加,但使用 Cloudflare 的 CDN 也会带来几个好处,可以隐藏服务器的真实 IP,防止 DDOS 攻击。尤其是在海外访问的话,速度会非常快,得益于 Cloudflare 遍布全球的 CDN 节点,延迟非常低,这点也非常适合在海外做外贸的网站使用。