这类问题我又碰上了一次。按扫描报告要求把旧版加密协议关掉,隔天有用户反馈打不开页面,浏览器提示协议不支持,用命令行复现也确实握手失败。
真正麻烦的地方在于,几个原因的现象几乎一样。老版本安卓和部分采集终端只支持旧协议;中间设备按旧协议做解密,升级链路不完整;协议与加密套件一起关,兼容面被收窄。
第一件事是看当前支持的协议
openssl s_client -connect 域名:443 -tls1 2>&1 | head -3
再往下确认具体报错
curl -I --tlsv1.0 --tls-max 1.0 https://域名
接着按访问日志评估影响面
grep -c 'TLSv1' /var/log/nginx/access.log
末了分阶段关闭并保留最低版本
grep -n ssl_protocols /etc/nginx/nginx.conf
改完先别撤,确认这几项。新版客户端握手正常,受影响终端有明确清单和替代方案,扫描报告不再报旧协议。
提醒一点。协议是分阶段淘汰的,先关加密套件再关旧协议,给老客户端留出升级窗口;支付和采集类终端要单独确认。报错文案容易误导,真正的原因往往在相邻那一层的日志里。