Ubuntu如何更新Nginx SSL证书
导读:Ubuntu更新Nginx SSL证书步骤(以Let’s Encrypt为例) 更新Nginx SSL证书的核心是通过Certbot工具完成证书续期,并确保Nginx加载新证书。以下是详细操作流程: 1. 确保Certbot及Nginx插件...
Ubuntu更新Nginx SSL证书步骤(以Let’s Encrypt为例)
更新Nginx SSL证书的核心是通过Certbot工具完成证书续期,并确保Nginx加载新证书。以下是详细操作流程:
1. 确保Certbot及Nginx插件已安装
Certbot是管理Let’s Encrypt证书的自动化工具,Nginx插件可自动修改Nginx配置。若未安装,执行以下命令安装:
sudo apt update
sudo apt install certbot python3-certbot-nginx
2. 手动触发证书续期
使用Certbot的renew命令更新证书,--dry-run参数用于模拟续期过程(无实际修改,用于测试):
sudo certbot renew --dry-run
若输出Congratulations, all renewals succeeded,说明续期成功。若需实际更新,去掉--dry-run参数:
sudo certbot renew
3. 自动续期配置(关键:避免手动操作)
Certbot默认会在安装时创建定时任务(通常位于/etc/cron.d/certbot或/etc/systemd/system/certbot.timer),定期检查证书有效期(默认每60天续期一次)。无需额外配置,但可通过以下命令验证定时任务是否存在:
systemctl list-timers | grep certbot
若未找到定时任务,可手动添加cron任务(每天凌晨2点检查):
sudo crontab -e
添加以下内容:
0 2 * * * /usr/bin/certbot renew --quiet
4. 验证Nginx配置并重载
证书续期后,Certbot通常会自动修改Nginx配置文件(位于/etc/nginx/sites-available/或/etc/nginx/conf.d/),但建议手动检查以下关键路径是否正确:
- SSL证书文件:
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; - SSL私钥文件:
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
确认配置无误后,测试Nginx语法并重载服务:
sudo nginx -t # 测试配置语法
sudo systemctl reload nginx # 重载Nginx使更改生效
注意事项
- 证书存储路径:Let’s Encrypt证书默认存储在
/etc/letsencrypt/live/yourdomain.com/目录下,其中fullchain.pem是完整的证书链(包含服务器证书和中间证书),privkey.pem是私钥。 - 强制HTTPS跳转:若Nginx配置中未包含HTTP到HTTPS的强制跳转,可添加以下
server块(通常位于/etc/nginx/sites-available/yourdomain.com):修改后需再次测试并重载Nginx。server { listen 80; server_name yourdomain.com www.yourdomain.com; return 301 https://$host$request_uri; }
通过以上步骤,即可完成Ubuntu环境下Nginx SSL证书的更新,并确保证书长期有效。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu如何更新Nginx SSL证书
本文地址: https://pptw.com/jishu/740506.html
