1. Install the Certbot Let's Encrypt Client(yum安装cerbot)
执行:
sudo yum install epel-release
安装成功后执行:
sudo yum install certbot
2.nginx设置
已经安装成功nginx后,可在nginx配置文件夹中添加配置文件。例如我的配置文件夹nginx/conf.d中新建一个le-well-known.conf文件:
server{
location ~ /.well-known {
allow all;
}
}
设置成功后,重启nginx
systemctl restart nginx
3.cerbot初始化
执行
sudo certbot certonly -a webroot --webroot-path=/usr/share/nginx/html -d example.com -d www.example.com
按照提示进行操作
4.nginx对应站点配置文件添加证书支持:
详细nginx配置可查阅对应资料,下面截取部分:
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_session_timeout 1m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
******
}
备注:ssl_certificate和ssl_certificate_key的目录具体需要改为刚刚成功生成的证书的具体位置
5.重启nginx,保证80端口和https默认的443端口处于开放状态。
保证Nginx正常运行,且80和443端口开放状态
6.设置自动更新
证书的有效期为90天,可以在过期前30内执行,更新证书
sudo certbot renew
设置自动更新:
sudo crontab -e
添加代码:
30 2 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log
35 2 * * 1 /usr/bin/systemctl reload nginx
保存退出,上面代码可在每周一凌晨2:30执行更新证书,并在2:35分执行nginx重启。