在centos8中如何使用Let’s Encrypt 获取免费证书配置https,并能自动续期
在 CentOS 8 中使用 Let’s Encrypt 获取免费证书配置 HTTPS 并实现自动续期,可按照以下步骤进行操作:
安装 Certbot
- 安装 EPEL 仓库
Certbot 在 Extra Packages for Enterprise Linux (EPEL) 仓库中,首先需要安装 EPEL 仓库。在终端中执行以下命令:
收起
plaintext
sudo dnf install epel-release
- 安装 Certbot 及 Nginx 插件
使用以下命令安装 Certbot 及 Nginx 插件:
收起
plaintext
sudo dnf install certbot python3-certbot-nginx
获取 SSL 证书
- 执行获取证书命令
运行以下命令来获取证书,将your_domain.com替换为你的实际域名,如果有多个域名,可使用-d参数继续添加,如-d www.your_domain.com:
收起
plaintext
sudo certbot --nginx -d your_domain.com
Certbot 会自动检测 Nginx 配置,并为指定的域名申请 SSL 证书。过程中它会要求输入邮箱地址等信息,并需要同意相关条款。
2. 验证与配置
Certbot 会尝试通过向域名的服务器发送验证请求来验证你对该域名的所有权。验证成功后,Certbot 会自动修改 Nginx 配置文件,将 SSL 证书配置添加到相应的server块中。
配置自动续期
- 查看自动续期配置
Certbot 安装完成后,会自动创建一个 Cron 任务来定期检查证书是否需要更新。可以通过以下命令查看 Cron 任务:
收起
plaintext
sudo crontab -l -u root
应该能看到类似以下的内容,这表示 Certbot 会每天检查证书状态,并在证书过期前自动续期:
收起
plaintext
# /etc/cron.d/certbot: crontab entries for the certbot package
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew
- 测试自动续期
虽然 Certbot 会自动在后台进行续期操作,但也可以手动测试续期功能,以确保一切正常工作。执行以下命令进行测试:
收起
plaintext
sudo certbot renew --dry-run
此命令会模拟证书续期过程,但不会实际更新证书。如果模拟过程没有报错,说明自动续期功能应该可以正常工作。
完成以上配置后,Let’s Encrypt 的免费证书将在 CentOS 8 上的 Nginx 服务器上配置完成并实现自动续期,以确保网站的 HTTPS 连接始终安全有效。