在运行测试后SSL 服务器测试,我明白了This server's certificate chain is incomplete
。后来我用橙色读到:Chain issues Incomplete, Contains anchor
。
我试图了解问题所在并阅读有关该主题的资料,但我没有成功找出问题所在以及如何找到问题的原因。
如果有人愿意告诉我一些可以采取的步骤来找出问题的话,我会很高兴的!
为更多读者编辑:
问题是我有 2 个中间证书。我必须将它们分别复制/粘贴到一个文件中,并将该文件用作整个中间证书。
答案1
客户端应已将根证书添加到其受信任的证书列表中。
您自己的证书位于链的另一端,但这两个证书之间通常有一个或多个中间证书。
由于客户端不需要知道这些中间证书,因此您应该将服务器配置为不仅提供自己的证书,还显示任何中间证书。
这样客户端就可以获得整个证书链,并能够验证它是否以其受信任的证书之一结束。
答案2
有一个工具可以自动生成一组正确链接的证书。https://github.com/zakjan/cert-chain-resolver(我是作者。)
用法:
cert-chain-resolver -o domain.bundle.pem domain.pem
- domain.pem 是您的输入证书
- domain.bundle.pem 是证书包,您可以在 Web 服务器配置中使用它