给多个业务域名部署同一张证书,只有第一个能正常用。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,签发时只填了主域名,其余域名没有加入备用名称列表,客户端按访问域名逐个比对时直接判定不匹配。
「多域名证书」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。报错里带路径的,先去看那个路径在不在、权限对不对。
openssl req -new -key a.key -out a.csr -subj '/CN=example.com' # 配置中 subjectAltName=DNS:example.com,DNS:www.example.com,DNS:api.example.com
同一份配置存在多处的,先确认改的是被加载的那一份。新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。
备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。
具体做法是,签发时全部写入备用名称;确认每个域名验证通过;部署后逐个复测。
最后用这个标准收尾,所有列出的域名访问都不再报证书错误。