在 Debian 上优化 Nginx + SSL(HTTPS),可以从协议与加密套件、证书、会话复用、性能参数、系统层面几个方面入手。下面按“实用可落地的优化清单”给你说明。
编辑 Nginx 配置(如 /etc/nginx/conf.d/ssl.conf 或 nginx.conf):
ssl_protocols TLSv1.2 TLSv1.3;
✅ 推荐:
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
✅ TLS 1.3 会自动使用现代套件,不用手动列太多。
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets on;
ssl_session_ticket_key /etc/nginx/ssl/ticket.key;
⚠️ 注意:
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 1.1.1.1 valid=300s;
resolver_timeout 5s;
证书中需包含中间证书(fullchain)。
listen 443 ssl http2;
listen 443 quic reuseport;
openssl ecparam -genkey -name prime256v1 -out ec.key
ssl_certificate /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/privkey.pem;
worker_processes auto;
worker_connections 10240;
keepalive_timeout 65;
ulimit -n 65535
/etc/security/limits.conf:
* soft nofile 65535
* hard nofile 65535
/etc/sysctl.conf:
net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 15
sysctl -p
apt install certbot python3-certbot-nginx
certbot --nginx -d example.com
自动配置:
openssl s_client -connect example.com:443
或在线工具:
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 off;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets on;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 valid=300s;
}
如果你愿意,可以告诉我:
我可以帮你直接给出一套完整可用的配置。