ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305';
ssl_prefer_server_ciphers on;

同一张证书换到另一台机器上,检测评分从 A 掉到 B,报告里只有一行「支持不安全的加密套件」。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。

原因不复杂,默认 ssl_ciphers 里还留着 CBC 和 3DES 这类老套件,评分规则会给它们扣分。协议版本没问题,扣的是套件这一项。

围绕「SSL 评分 B」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。

验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。

处理上按这个顺序:先看报告里具体列出的套件名,别整段照抄别人的配置;把 ssl_ciphers 收敛到 AEAD 套件,CBC 和 3DES 全部去掉;改完重新检测,同时用旧设备验证一遍,别为了分数把能用的客户端挡在外面。

改完只确认一件事:复检评分回到 A,报告里不再出现 CBC 套件。

作者 9823189