Debian系统更新Nginx SSL证书主要有自动更新(推荐)和手动更新两种方式,步骤如下:
安装Certbot
sudo apt update
sudo apt install certbot python3-certbot-nginx
获取并配置证书
sudo certbot --nginx -d your_domain.com
按提示选择域名,启用自动重定向(HTTP→HTTPS)。
测试自动续签
sudo certbot renew --dry-run
确保续签功能正常。
设置定时任务(可选)
编辑crontab:
sudo crontab -e
添加以下内容(每天凌晨2点检查续签):
0 2 * * * certbot renew --quiet
备份旧证书
sudo cp /etc/nginx/ssl/your_domain.crt /etc/nginx/ssl/your_domain.crt.bak
sudo cp /etc/nginx/ssl/your_domain.key /etc/nginx/ssl/your_domain.key.bak
上传新证书
将新证书(.crt和.key文件)上传至服务器,存放至/etc/nginx/ssl/
目录(需提前创建目录):
sudo mkdir -p /etc/nginx/ssl
sudo cp /path/to/new_certificate.crt /etc/nginx/ssl/
sudo cp /path/to/new_certificate.key /etc/nginx/ssl/
修改Nginx配置
编辑站点配置文件(如/etc/nginx/sites-available/your_domain
):
sudo nano /etc/nginx/sites-available/your_domain
替换ssl_certificate
和ssl_certificate_key
路径为新的证书文件:
ssl_certificate /etc/nginx/ssl/your_domain.crt;
ssl_certificate_key /etc/nginx/ssl/your_domain.key;
检查并重启Nginx
sudo nginx -t # 检查配置语法
sudo systemctl reload nginx # 重新加载配置
验证证书
https://your_domain.com
,查看安全锁图标。openssl
或在线SSL检测工具)确认证书有效性。.key
文件权限应为600
,.crt
文件为644
):sudo chmod 600 /etc/nginx/ssl/*.key
sudo chmod 644 /etc/nginx/ssl/*.crt
/var/log/nginx/error.log
排查问题。以上步骤参考自。