今天,我遇到了一个cn不匹配的怪异案例。我有两个域:
kpmg.talentsource.rs和
www.kpmg.talentsource.rs
两者都以prod.q.ssl.global.fastly.net作为其CNAME
它们具有相同的A记录和证书。
不过:
https://kpmg.talentsource.rs(确定)
https://www.kpmg.talentsource.rs(CN不匹配)
https://www.ssllabs.com/ssltest/analyze.html?d=kpmg.talentsource.rs&s=151.101.65.62
https://www.ssllabs.com/ssltest/analyze.html?d=www.kpmg.talentsource.rs&s=151.101.65.62
注意:两者在CN和SAN中都没有kpmg.talentsource.rs
任何想法为什么会这样?
最佳答案
证书的使用者替代名称为*.talentsource.rs
(在许多其他不相关的名称中)。
根据X.509 / TLS规则,*
仅匹配一个级别/标签,可以说它不会与点交叉。因此,*.talentsource.rs
与主机名kpmg.talentsource.rs
匹配,而不与www.kpmg.talentsource.rs
匹配,因此浏览器错误。
您需要在此证书中添加www.kpmg.talentsource.rs
或*.kpmg.talentsource.rs
作为SAN(请注意,列表中也已经有talentsource.rs
)或完全停止使用www.kpmg.talentsource.rs
(重定向将无法解决问题,因为您在获取HTTP Location:
标头之前,仍然需要先完成TLS握手,因此您仍然需要适当的证书)。
关于ssl - 奇怪的SSL通用名称不匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53389858/