在 Debian 上,Nginx 的 SSL 证书位置并没有强制规定,通常按“约定俗成”或你自己的配置来放。下面给你常见情况和查找方法。
如果你是用 certbot 申请的证书,默认在:
/etc/letsencrypt/live/你的域名/
例如:
/etc/letsencrypt/live/example.com/
里面通常有:
fullchain.pem(证书)privkey.pem(私钥)Nginx 配置一般长这样:
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
很多人会放在:
/etc/nginx/ssl/
或
/etc/ssl/nginx/
例如:
/etc/nginx/ssl/example.com.crt
/etc/nginx/ssl/example.com.key
Debian 系统证书一般在这里(不是给 Nginx 用的):
/etc/ssl/certs/ # 公钥
/etc/ssl/private/ # 私钥(权限严格)
nginx -T | grep ssl_certificate
输出示例:
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ls /etc/nginx/sites-enabled/
cat /etc/nginx/sites-enabled/你的站点
chmod 600 privkey.pem
chown root:root privkey.pem
Debian 上 Nginx 的 SSL 证书在哪,取决于你的 Nginx 配置文件里写了什么路径,最常见的是
/etc/letsencrypt/live/域名/。
如果你愿意,可以把你的 Nginx 配置贴出来,我可以直接帮你指出证书在哪、对不对。