你的问题“debian nginx ssl 如何兼容”可能指以下几种常见场景之一。我先按最常见的几种“兼容性”需求给你说明,你可以对照自己的情况:
如果你是想 既能用 http 访问,也能用 https 访问:
server {
listen 80;
server_name example.com;
# 可选:强制跳转 https
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
location / {
root /var/www/html;
index index.html;
}
}
✅ Debian + Nginx 默认支持
✅ 推荐 80 跳转 443
有些老设备(如 Android 4、IE8、旧微信)不支持 TLS1.2+
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
⚠️ 注意:
ssl_protocols TLSv1.2 TLSv1.3;
| Debian | Nginx | OpenSSL | 支持 TLS1.3 |
|---|---|---|---|
| Debian 9 | 1.10 | 1.1.0 | ❌ |
| Debian 10 | 1.14 | 1.1.1 | ✅ |
| Debian 11 | 1.18 | 1.1.1 | ✅ |
| Debian 12 | 1.22 | 3.0 | ✅ |
nginx -v
openssl version
Nginx 只支持 PEM 格式
转换示例:
openssl x509 -in cert.crt -out cert.pem -outform PEM
apt install certbot python3-certbot-nginx
certbot --nginx -d example.com
✅ 自动配置
✅ 自动续签
✅ 安全性高
location / {
proxy_pass https://backend;
proxy_ssl_verify off; # 不验证后端证书
}
你可以告诉我:
cat /etc/debian_version)我可以直接给你可用的 nginx 配置。