情商高点的说法是 Google 积极推进90天免费证书,各服务商积极响应。
情商低点的话,就是钱的问题。
现在基本各大服务商都在2024年停止签发1年期的免费SSL证书产品,有效期都缩短至3个月。
目前腾讯云倒还是一年期。
如果是一年期的话,还可以偷下懒,但是3个月的话,运维成本就高了很多,对于小公司或者个人来说就麻烦很多了。
不过解决的办法还是有的,那便是使用一个自动签发自动续期的脚本acme.sh,用了这个脚本之后,感觉比之前的方式更加简单方便了。
下载自动化脚本
// 下载脚本,并且执行curl https://get.acme.sh | sh -s email=你的邮箱
这个脚本会执行两个步骤:
一个是将acme.sh移动到你的用户目录并设置可执行别名,这样我们通过acme.sh就可以执行这个脚本。
一个是设置了一个定时任务,这个定时任务是每天凌晨0点自动检查我们的证书有没有更新。
生成证书
证书的验证有两种,一种是http,一种是DNS。http的话需要我们的域名已经配置解析到我们的服务器,一种是DNS,则需要服务商有提供API。
无疑使用http是最方便的,我们在服务商那边配置好域名之后,直接执行下面的命令
acme.sh --issue -d 我们的域名 --webroot http服务的根目录
这样会生成一个验证文件到我们的根目录,然后让服务商发起一个验证的请求。
安装证书
最后就是将我们的证书安装到我们的ngin上面了
acme.sh --install-cert -d example.com \--key-file /path/to/keyfile/in/nginx/key.pem \--fullchain-file /path/to/fullchain/nginx/cert.pem \--reloadcmd "service nginx force-reload"
这样执行之后,每天凌晨如果检查到证书更新了,还会自动执行service nginx force-reload,这样的话,就可以无限制续期了。
免费证书有限制吗?
免费证书数量没限制,但是请求速率有限制,比如Let's Encrypt是每个注册域名可签发的证书数量(每周 50 份),每个账户三小时内最多可创建 300 份订单