温馨提示×

centos nginx如何配置自动续期SSL

小樊
38
2025-12-09 15:05:20
栏目: 云计算

在CentOS上配置Nginx以自动续期SSL证书,通常需要结合Certbot工具来实现。Certbot是一个自动化的Let’s Encrypt客户端,它可以自动获取和续期SSL证书。以下是详细步骤:

1. 安装Certbot和Nginx

首先,确保你的系统上已经安装了Nginx和Certbot。如果没有安装,可以使用以下命令进行安装:

sudo yum install epel-release
sudo yum install nginx certbot python3-certbot-nginx

2. 获取SSL证书

使用Certbot获取SSL证书。假设你的域名是example.com,你可以运行以下命令:

sudo certbot --nginx -d example.com -d www.example.com

Certbot会自动配置Nginx以使用SSL,并将证书文件放置在适当的位置(通常是/etc/letsencrypt/live/example.com/)。

3. 配置自动续期

Certbot会创建一个定时任务来自动续期证书。你可以通过以下命令查看和管理这些定时任务:

sudo crontab -l

你应该会看到类似以下的条目:

0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot renew --deploy-hook "systemctl reload nginx"

这个定时任务每天检查两次证书是否需要续期,并在需要时自动续期并重新加载Nginx配置。

4. 手动测试续期

为了确保一切正常,你可以手动测试证书续期过程:

sudo certbot renew --dry-run

如果一切正常,Certbot会报告证书可以续期,并且不会实际续期证书。

5. 监控续期状态

你可以使用以下命令来查看Certbot的续期日志:

sudo tail -f /var/log/letsencrypt/renewal.log

6. 配置防火墙

确保你的防火墙允许HTTPS流量:

sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

7. 重启Nginx

最后,重启Nginx以确保所有配置生效:

sudo systemctl restart nginx

通过以上步骤,你应该能够在CentOS上成功配置Nginx以自动续期SSL证书。

0