主域名和一级子域名都正常,更深的子域名仍提示证书错误。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,泛域名通配只覆盖一级,多级子域名不在签发范围内,签发时也没有把实际访问的层级写进备用名称。
「泛域名证书」这类改动最怕改一半,回滚脚本先准备好,再动生产。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。
openssl x509 -in cert.pem -noout -text | grep DNS # 覆盖 *.example.com 与 *.sub.example.com
权限不要一口气开到最大,先加到够用再往上试,范围小才好收。把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。
改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。
能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。
具体做法是,确认实际访问层级;为更深层级单独签发;或用多域名证书覆盖。
最后用这个标准收尾,各级子域名访问都不再出现证书告警。