我刚刚获得了一个新的 SSL 证书,该证书适用于之前由通配符 SSL 证书覆盖的域。安装该证书已超过一周,大约 99% 的用户没有遇到问题。现在只有一两个(我知道的)收到“站点不受信任”警告,因此我假设他们在连接时看到的是旧证书。有没有办法强制所有浏览器在连接时使用新的 SSL 证书?(它是 Ubuntu 上的 NGINX)
答案1
我认为您的证书存在问题(例如缺少中间证书)并且某些客户端/浏览器的认证链已中断。
最佳做法是在服务器上安装新证书后使用外部工具检查 SSL/TLS 设置。
好的工具是Qualys SSL 实验室或者密码检查。
请记住,Nginx 没有中间证书选项。您必须将它们捆绑到一个文件中,并通过SSL 证书选项。此类证书文件包含您的证书和所有必需的中间证书。
如果你喜欢使用 OCSP,有一个选项ssl_trusted_certificate该文件与上面给出的文件大致相同,另外还添加了 CA 的根证书。
实际上 ssllabs.com 的回复非常有帮助。其中有一个“附加证书(如果提供)”部分,其中显示了证书文件的每个证书(使用选项设置的证书)SSL 证书)。通过“证书路径”部分,您可以查看不同的证书路径以及已使用证书的位置或缺少证书的位置。如果您提供的证书过多,您甚至可以看到哪个证书已过时。您还可以使用 SHA256 指纹在 Google 上搜索缺少的证书,然后下载并修复您的设置。