你这个问题比较简略,我按最常见的几种“兼容”场景给你说明,在 Debian + Nginx + SSL 下通常怎么做。
编辑 Nginx 配置:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
⚠️ 注意:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_certificate /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/privkey.pem;
ssl_certificate /etc/nginx/ssl/ecc-fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/ecc-key.pem;
Nginx 会自动协商。
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name a.com;
ssl_certificate /etc/letsencrypt/live/a.com/fullchain.pem;
}
server {
listen 443 ssl;
server_name b.com;
ssl_certificate /etc/letsencrypt/live/b.com/fullchain.pem;
}
Debian + Nginx 默认支持 SNI。
ssl_certificate /path/fullchain.pem; # 必须包含中间证书
不要只放 cert.pem
nginx -V | grep ssl
没有就重装:
apt install nginx-full
ufw allow 443/tcp
你可以直接说:
SSL handshake failed)我可以给你精准配置。
你现在是 哪种不兼容?