1. 安装snap,用来安装certbot:
sudo dnf install epel-release
sudo dnf upgrade
sudo yum install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
snap install core
snap refresh core
2. 安装 certbot命令:
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot
3. 获取证书并更新nginx中的配置文件,假设你要配置的域名是 a.b.com:
certbot --nginx -d a.b.com
这个命令默认的nginx配置文件位置是在/etc/nginx下面的,如果你的nginx的配置文件在其他地方,比如在 /usr/local/nginx/conf 这个位置,那么就要先建立软连接,再获取证书:
# 建立软连接
ln -s /usr/local/nginx/conf/* /etc/nginx
# 获取证书
certbot --nginx -d a.b.com
成功后,就可以在浏览器访问 https://a.b.com 啦
4. 配置定时任务自动更新证书(默认有效期90天,所以要自动更新避免过期影响业务):
创建文件 vim /etc/systemd/system/certbot.timer 输入以下内容
[Unit]
Description=Run the certbot renew twice a day
[Timer]
OnCalendar=*-*-* 00,12:00:00
RandomizedDelaySec=21600
Persistent=true
[Install]
WantedBy=timers.target
保存成功后,执行以下命令即可。
systemctl enable certbot.timer