温馨提示×

如何在debian更新nginxssl

小樊
39
2026-10-26 05:22:51
栏目: 云计算

在 Debian 上“更新 Nginx 的 SSL”通常指以下几种情况之一:

  1. 更新 SSL 证书(如 Let’s Encrypt 续期)
  2. 更换/重新配置 SSL 证书文件
  3. 升级 Nginx 以支持更新的 SSL/TLS
  4. 更新 Nginx 的 SSL 配置(协议、加密套件等)

下面按常见场景说明。


一、更新 SSL 证书(最常见)

1. 使用 Let’s Encrypt(certbot)

如果你是用 certbot 安装的证书:

sudo certbot renew

手动测试续期:

sudo certbot renew --dry-run

续期后如果 Nginx 没自动重载:

sudo systemctl reload nginx

2. 手动替换证书文件

如果你自己签发或购买了证书:

假设证书路径:

  • 证书:/etc/nginx/ssl/example.com.crt
  • 私钥:/etc/nginx/ssl/example.com.key

更新文件后:

sudo nginx -t
sudo systemctl reload nginx

⚠️ 注意:

  • 私钥权限建议 600
  • 属主通常是 root:root

二、修改 Nginx SSL 配置

编辑站点配置,例如:

sudo nano /etc/nginx/sites-available/example.com

示例 SSL 配置(推荐):

listen 443 ssl http2;

ssl_certificate     /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

检查并重载:

sudo nginx -t
sudo systemctl reload nginx

三、升级 Nginx(更新 SSL 支持)

sudo apt update
sudo apt upgrade nginx

查看版本:

nginx -v

如需最新版(Debian 官方源较旧):


四、自动续期检查(Let’s Encrypt)

确认定时任务存在:

systemctl list-timers | grep certbot

或:

cat /etc/cron.d/certbot

五、常见问题排查

SSL 不生效

sudo nginx -t
sudo systemctl status nginx

证书路径错误

查看 Nginx 报错日志:

sudo tail -n 50 /var/log/nginx/error.log

如果你能说明:

  • 用的是 Let’s Encrypt 还是自签
  • 是 换证书还是改配置
  • Debian 版本(cat /etc/os-release)

我可以给你更精确的命令。

0 踩