centos

centos nginx如何实现自动续期SSL证书

小樊
50
2025-10-05 00:27:15
栏目: 云计算

在CentOS上使用Nginx实现SSL证书的自动续期,通常可以通过Certbot工具来完成。Certbot是一个由Let’s Encrypt提供的自动化工具,可以轻松地为Nginx配置和续期SSL证书。以下是详细步骤:

1. 安装Certbot

首先,确保你的系统已经安装了EPEL仓库,然后安装Certbot及其Nginx插件。

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

2. 获取SSL证书

使用Certbot获取SSL证书。假设你的域名是example.com

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

Certbot会自动配置Nginx并重启服务以应用新的SSL证书。

3. 设置自动续期

Certbot会创建一个定时任务(cron job)来自动续期证书。你可以检查这个定时任务是否存在:

sudo crontab -l | grep certbot

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

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

如果没有错误,你可以手动续期证书:

sudo certbot renew

5. 配置Nginx

确保你的Nginx配置文件正确指向了SSL证书和密钥。通常,Certbot会自动更新这些文件。你可以检查/etc/nginx/conf.d/default.conf或类似的配置文件:

server {
    listen 443 ssl;
    server_name example.com www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    # 其他配置...
}

6. 重启Nginx

最后,重启Nginx以应用新的配置:

sudo systemctl restart nginx

通过以上步骤,你就可以在CentOS上使用Nginx和Certbot实现SSL证书的自动续期。

0
看了该问题的人还看了