|
去年帮朋友迁移一个博客,免费域名解析刚生效,免费浏览器就弹出了红色的免费“不安全”警告。他问我怎么办,免费我说买个证书呗,免费一年几十到几百块不等。免费他回了一句:不是免费有免费的吗? 确实有。而且不止一家。免费 Let's Encrypt 是免费绕不开的名字 2015年之前,给网站配 HTTPS 证书基本等于掏钱。免费便宜的免费 DV 证书一年也要十几美元,对个人站长来说不算小开销。免费Let's Encrypt 上线后,免费局面彻底变了——免费、免费自动化、免费被主流浏览器信任。它背后是 ISRG(Internet Security Research Group),一个非营利组织,Mozilla、Cisco、Chrome 等都是赞助方。 我自己的几个静态站用的就是 Let's Encrypt。签发流程简单到有点不真实:装个 certbot,跑一行命令,证书到手,90天有效期。到期前 certbot 可以自动续签,配个 cron 任务就不用管了。 但90天这个周期是有意设计的。官方希望推动自动化续签,而不是让用户手动操作。你要是忘了续,网站就挂了。我就干过这事——某天早上收到 UptimeRobot 的告警邮件,打开一看,证书过期了。 国内也有免费选项 如果你服务器在国内,或者域名没备案不方便用 Let's Encrypt 的某些验证方式,可以考虑阿里云和腾讯云的免费证书。 阿里云提供免费的 DV 单域名证书,有效期一年,每年可以重新申请。腾讯云类似,免费证书有效期也是一年。操作路径都在各自的 SSL 证书管理控制台里,申请、验证、下载、部署,流程走一遍大概十分钟。 有个细节要注意:阿里云的免费证书最早是 Symantec 签发的,后来换成了 DigiCert 品牌。腾讯云用的则是 TrustAsia。这些证书在浏览器里都是绿锁,兼容性没问题。 不过免费证书通常只覆盖单域名,不支持通配符。你要是有十几个子域名,一个一个申请也挺烦。Let's Encrypt 倒是支持通配符,但需要 DNS 验证,配置稍复杂一些。 选哪个,看你的场景 个人博客、测试环境、小型项目——Let's Encrypt 足够。配合 certbot 或者 acme.sh,自动化程度高,不用惦记续期的事。acme.sh 甚至支持阿里云 DNS API,通配符证书也能全自动续签。 企业官网、需要一年以上有效期的场景——国内云厂商的免费证书更省心。一年一续,不用频繁操作。但如果你换了服务器或者 CDN,记得重新部署证书。 还有一种情况:你用的是 Cloudflare。那更简单,直接在面板里开启 SSL/TLS,Cloudflare 会给你分配一个边缘证书,源站用自签名证书都行。这种模式下浏览器看到的是 Cloudflare 的证书,用户不会遇到警告。 几个容易踩的坑 免费证书不等于“随便用”。Let's Encrypt 有速率限制——同一域名每周最多签发50张证书。正常使用完全够,但如果你在调试自动化脚本时反复触发签发,可能会被临时封禁。 另外,免费证书一般只做域名验证(DV),不验证企业身份。浏览器地址栏显示绿锁,但点开证书详情看不到公司名称。对大多数网站来说这无所谓,但如果你做的是电商或者金融类站点,用户可能会在意这个区别。 还有一个常见问题:证书链不完整。有些服务器配置只装了域名证书,没装中间证书,导致部分安卓设备或者旧版浏览器报错。用 SSL Labs 的在线检测工具跑一下,评分 A 以上基本就没问题。 说到底,HTTPS 早就不是“要不要上”的问题,而是“怎么上最省事”。免费证书的存在让这件事的门槛降到了几乎为零。你唯一需要做的,就是别忘了续期——或者干脆让它自动续。 |