以下是CentOS下Nginx的SSL优化技巧,涵盖性能、安全及配置层面:
一、协议与加密套件优化
- 禁用不安全协议
仅保留TLSv1.2和TLSv1.3,移除易受攻击的旧版本(如TLSv1.0/1.1):ssl_protocols TLSv1.2 TLSv1.3; - 优选安全加密套件
使用ECDHE(前向保密)+ AES-GCM组合,优先服务器端算法:ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384'; ssl_prefer_server_ciphers on;
二、性能优化
- 启用会话缓存与复用
减少握手开销,支持长连接:ssl_session_cache shared:SSL:100m; # 共享内存缓存 ssl_session_timeout 1d; # 缓存有效期1天 ssl_session_tickets on; # 启用会话票证(需OCSP) - HTTP/2协议支持
多路复用提升传输效率:listen 443 ssl http2; - OCSP Stapling
缓存证书吊销状态,减少客户端查询延迟:ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 1.1.1.1 valid=300s;
三、安全增强
- 证书链优化
合并证书文件(服务器证书+中间CA),避免信任链中断:ssl_certificate /path/to/fullchain.pem; ssl_certificate_key /path/to/privkey.pem; - HSTS强制HTTPS
强制浏览器使用HTTPS,防止降级攻击:add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; - 硬件加速(可选)
启用SSL硬件引擎(如Intel QAT)提升加密性能:ssl_engine qat; ssl_early_data on; # 仅限TLSv1.3,支持0-RTT
四、系统级调优
- 内核参数优化
调整网络栈参数,提升并发处理能力:sysctl -w net.ipv4.tcp_tw_reuse=1 sysctl -w net.core.somaxconn=4096 - 定期更新与维护
- 升级Nginx、OpenSSL至最新版本,修复安全漏洞。
- 使用工具(如Qualys SSL Labs)定期扫描配置安全性。
五、注意事项
- 禁用SSL压缩,避免CRIME攻击。
- 确保私钥权限为
600,仅Nginx进程可读。 - 生产环境建议关闭调试日志,避免敏感信息泄露。
以上配置需根据实际业务场景调整,优先通过nginx -t测试语法正确性后重启服务。