Lets Encrypt安装https证书

以CentOS 7环境使用Let’sEncrypt安装脚本,在Nginx上安装Let’sEncrypt SSL证书为例,说明Let’sEncrypt证书安装方法。

安装脚本

Let’s Encrypt提供多种安装方式,推荐使用安装脚本,这种方式需要有系统登录权限。

下载Let’s Encrypt安装脚本

$ wget https://dl.eff.org/certbot-auto

添加执行权限

$ chmod a+x ./certbot-auto

如有需要,可检查脚本是否被篡改:

$ wget -N https://dl.eff.org/certbot-auto.asc
$ gpg2 --recv-key A2CFB51FA275A7286234E7B24D17C995CD9775F2
$ gpg2 --trusted-key 4D17C995CD9775F2 --verify certbot-auto.asc certbot-auto

修改防火墙

CentOS7 firewall-cmd添加端口为例:

firewall-cmd --add-port=443/tcp --permanent

重新加载配置

firewall-cmd --reload

安装SSL证书

./certbot-auto --nginx

首次安装Let’s Encrypt SSL证书 ,提示填写一个可用的邮箱,证书到期前会收到邮件提醒。

询问是否同意Let’s Encrypt的协议,输入 [A] 同意即可。

域名认证阶段,会列出nginx配置文件中出现的所有域名,域名按序分配一个编号,可使用编号选择需认证的域名或输入空格(全选),回车进入下一步。

询问是否对https请求进行重定向:(1)不跳转,(2)跳转。

通常选择[2]。

出现 Congratulations! 字样时,说明Let’sEncrypt已经成功为域名颁发了SSL证书。

自动续期

Let’sEncrypt SSL证书有效期为90天,可添加定期任务自动续期,具体操作如下:

执行脚本

./certbot-auto renew --dry-run --nginx

添加定期检测任务

sudo crontab -e

指定任务时间

15 3 * * * /root/certbot-auto renew --quiet

wq保存定时任务。

示例中定时任务会在每天凌晨3:15运行certbot renew --quiet命令检测证书有效性。

证书测评

sslabs提供SSL证书可靠性检测,如下所示:

https://www.ssllabs.com/ssltest/analyze.html?d=xieyonghui.com