for h in 10.0.0.11 10.0.0.12 10.0.0.13; do
  echo | openssl s_client -connect $h:443 2>/dev/null | openssl x509 -noout -fingerprint -sha256
done

证书更新后刷新页面,有时正常有时提示已过期,同一台电脑同一个浏览器,隔几秒结果就变。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。

追下去是这么回事:请求被分发到三台后端,只有一台换了新证书,命中旧节点就报过期。会话保持让问题看起来像偶发。

围绕「多节点证书不一致」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。权限不要一口气开到最大,先加到够用再往上试,范围小才好收。

把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。

处理上按这个顺序:先确认每台机器的证书指纹,别只看配置文件时间;更新时逐台替换并 reload,确认一台生效再动下一台;把证书指纹加进巡检,节点之间不一致就告警。

确认没问题再收工,三台输出的指纹一致,反复刷新不再出现过期提示。

作者 9823189