要获得ssl labs a+评级,必须禁用tls 1.0/1.1、rc4、3des等所有老旧协议与弱算法,仅启用tlsv1.2/tlsv1.3及前向保密+aead强密码套件,强制hsts(含includesubdomains和preload)、ocsp stapling、完整证书链,并确保配置在server块内且实测生效。

要让网站在 SSL Labs 测出 A+ 评级,核心不是堆参数,而是精准关闭风险项、启用关键防护机制,并确保每个环节无疏漏。A+ 是结果,不是配置目标——它只认事实:协议干净、套件强壮、响应头到位、证书链完整。
禁用所有老旧协议和弱算法
SSL Labs 对 TLS 1.0/1.1 和 RC4、3DES、MD5、SHA-1 零容忍。必须彻底移除:
- 只保留 TLSv1.2 和 TLSv1.3:
ssl_protocols TLSv1.2 TLSv1.3;
- 删除所有含
SSLv3、TLSv1、TLSv1.1 的配置行
- 避免使用 RSA 密钥交换(不提供前向保密),优先 ECDHE;不用 DH 参数(除非强验证过 2048 位以上)
选用现代强加密套件
密码套件必须满足前向保密 + AEAD 加密(如 AES-GCM 或 ChaCha20-Poly1305):
- 推荐配置(Nginx):
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305';
- 务必设
ssl_prefer_server_ciphers off;(TLS 1.3 要求此项为 off)
- 剔除所有含
3DES、RC4、MD5、SHA1、CBC 的套件
补全证书链并启用关键安全响应头
证书链缺失或响应头缺位是常见扣分点:
测试前务必绕过 CDN 和代理
SSL Labs 扫描的是你真实服务器的 TLS 终结点,不是 CDN 缓存层:
- 测试前将 CDN 切换为 “DNS only” 模式,或临时关闭
- 确认 DNS 解析直连 Nginx 服务器 IP,且 443 端口对外可达(检查防火墙/安全组)
- 若使用反向代理(如 Traefik),需确保扫描的是 TLS 终止那台机器
- 测试地址填域名(如 example.com),不加
https://
不复杂但容易忽略。A+ 不代表“更慢”或“更难兼容”,只要放弃对 IE8、Android 4.4 以下等已淘汰客户端的支持,现代配置反而更简洁、更安全、更高效。