ubuntu

Ubuntu下Nginx如何实现自动续期SSL

小樊
42
2025-12-15 02:21:33
栏目: 云计算

在Ubuntu系统下,使用Nginx实现SSL自动续期可以通过Certbot工具来完成。Certbot是一个自动化的Let’s Encrypt客户端,可以轻松地为Nginx配置SSL证书并设置自动续期。以下是详细步骤:

1. 安装Certbot

首先,确保你的系统是最新的,然后安装Certbot和Nginx插件。

sudo apt update
sudo apt install certbot python3-certbot-nginx

2. 获取SSL证书

使用Certbot获取SSL证书。你可以选择为单个域名或多个域名获取证书。

单个域名

sudo certbot --nginx -d yourdomain.com

多个域名

sudo certbot --nginx -d domain1.com -d domain2.com

在运行上述命令时,Certbot会提示你输入电子邮件地址、同意服务条款,并选择是否将Nginx配置文件重定向到Certbot的默认位置(通常是/etc/letsencrypt/options-ssl-nginx.conf)。

3. 配置Nginx

Certbot会自动修改你的Nginx配置文件以启用SSL。通常,它会创建一个符号链接,指向Certbot生成的配置文件。

sudo ln -s /etc/letsencrypt/options-ssl-nginx.conf /etc/nginx/options-ssl-nginx.conf

然后,重新加载Nginx以应用更改:

sudo systemctl reload nginx

4. 设置自动续期

Certbot会自动设置一个cron任务或systemd定时器来定期检查并续期证书。你可以通过以下命令查看定时器的状态:

sudo systemctl list-timers | grep certbot

如果你想手动触发续期,可以使用以下命令:

sudo certbot renew --dry-run

如果续期成功,Certbot会输出一条消息。如果证书即将过期,它会自动续期并重新加载Nginx。

5. 验证自动续期

为了确保自动续期正常工作,你可以模拟证书过期并观察Certbot的行为。

sudo certbot renew --dry-run --post-hook "systemctl reload nginx"

这将模拟证书续期并重新加载Nginx。

总结

通过以上步骤,你可以在Ubuntu系统下使用Certbot为Nginx配置SSL证书,并设置自动续期。Certbot的自动化功能大大简化了SSL证书的管理过程。

0
看了该问题的人还看了