在 Debian 上优化 Nginx + SSL(HTTPS),通常从 协议/加密套件、会话复用、OCSP、HTTP/2、证书、系统参数 几个方面入手。下面给你一套实用、可落地的优化方案(适用于 Debian 11/12 + Nginx 1.18+)。
编辑 /etc/nginx/nginx.conf 或站点配置:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
✅ 不建议再启用 TLS 1.0 / 1.1
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;
ssl_session_tickets off更安全(避免 ticket 密钥泄露)
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 1.1.1.1 valid=300s;
resolver_timeout 5s;
证书配置中必须有:
ssl_trusted_certificate /etc/nginx/ssl/fullchain.pem;
listen 443 ssl http2;
Debian + Nginx 默认已支持
openssl ecparam -genkey -name prime256v1 -out ec.key
或使用 Let’s Encrypt:
certbot certonly --nginx -d example.com --key-type ecdsa
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
worker_processes auto;
worker_connections 10240;
open_file_cache max=10000 inactive=30s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
gzip on;
gzip_types text/css application/javascript application/json image/svg+xml;
如支持 Brotli:
brotli on;
brotli_comp_level 6;
sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.core.somaxconn=65535
写入 /etc/sysctl.conf 持久化
/etc/security/limits.conf
* soft nofile 100000
* hard nofile 100000
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 valid=300s;
add_header Strict-Transport-Security "max-age=31536000" always;
}
如果你愿意,可以告诉我:
我可以给你 精准配置模板。