前些天看到微信公众平台官方公告关于公众平台接口不再支持HTTP方式调用的公告之后决定把项目的协议从http
改成https
,于是开始在网上查,完成之后总结了一点经验
本文演示的是通用证书,即在
certbot
命令中不需要指定--apache
或者--nginx
之类,只需要在完成证书生成之后在服务器配置文件里进行引用即可
Let’s Encrypt 认证签发为每3个月一次,也就是每 90 天必须更新(renew)一次。取得认证的过程需要进主机安裝代理程序:certbot,下面以ubuntu为例:
此时会出现选项,按照提示选择即可
手动强制为证书续期
如果出现以下提示则说明更新成功
1 | Congratulations, all renewals succeeded. The following certs have been renewed: |
---|
但为了更方便,通常使用crontab -e
编辑定时任务,并加入
1 | 0 0 1 * * certbot renew --force-renew “重启服务器命令” |
---|
实现每个月1号0点自动续期
tips:
如果有多个域名
Please enter in your domain name(s) (comma and/or space separated) (Enter 'c' to cancel):
步骤通过,
来分隔域名/etc/letsencrypt/live/
目录下注意:如果失败超过5次会被服务器屏蔽1小时
以上操作完成后在pc端浏览器可正常读取证书并显示绿色锁,但在部分移动端浏览器上可能提示证书无效,原因可以参考合并SSL服务器证书和CA包(证书链文件)
简单来说,可以通过合并SSL服务器证书和CA包(证书链文件)
即:复制fullchain.pem里的内容至cert.pem,重启服务器即可