gpt4 book ai didi

apache - 将 SSL 证书传输到 Rackspace 云服务器 - 偶尔出错

转载 作者:太空宇宙 更新时间:2023-11-03 13:13:12 26 4
gpt4 key购买 nike

好的,我最近将我的 Comodo SSL 证书从我以前的 Bluehost 帐户转移到我的新 rackspace 云服务器。 (灯堆栈)

基本上我只是复制粘贴服务器证书和 key 并检查以确保它已正确安装。现在我遇到了一些问题,偶尔我会听到人们说他们收到“不受信任的连接错误”,而其他人根本没有收到此错误。

最近有人给我发了一张他们错误的屏幕截图,上面说:这个证书不受信任,因为没有提供颁发者链。

他们注意到这个的浏览器是 safari,所以我清除了 safari 中的所有历史数据并打开了网站,但我没有看到那个错误。

有人知道如何解决这样的问题吗?谢谢!

当我输入 openssl s_client... 我得到:

Certificate chain
0 s:/OU=Domain Control Validated/OU=Hosted by BlueHost.Com, INC/OU=PositiveSSL/CN=www.sitename.com
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=PositiveSSL CA 2
1 s:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=PositiveSSL CA 2
i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root

最佳答案

您很可能缺少“链”或中间证书(有些人的浏览器中可能有,有些则没有)。

解决此问题的最简单方法是查看证书上的颁发者详细信息;并找到该证书。然后查看该证书的颁发者详细信息 - 直到您点击“根” - 这是一个自签名证书(主题与颁发者相同)。

一旦你得到它们,将它们连接到一个文件中,并将 SSLCertificateChainFile 指向该文件。

你的 httpd.conf 看起来像

   SSLEngine on
SSLCertificateKeyFile .../your-key.key
SSLCertificateFile .../your-cert.pem
SSLCertificateChainFile .../ca-bundle.pem

一些 CA 在颁发证书时将此文件作为“ca-bundle”(https://support.comodo.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=1203) 提供。大多数没有。

所以在这种情况下,您需要创建它。做

openssl x509 -in <your cert.pem> -noout -issuer

将为您提供确切的颁发者字符串。谷歌搜索通常会为您提供所需的中间证书(通常在您的 CA 的支持站点)。一旦你有了它 - 重复上面的步骤并继续下去,直到你到达最后一个 - 发行者与主题相同。

一旦完成 - 重启网络服务器,就可以了。

如果你想验证你得到了整个链 - 然后使用命令

openssl s_client -connect <your domain name>:443

并检查输出是否以:

开头
0 s:/C=GB/OU=Domain Control Validated/CN=<your domain>
i:/C=BE/O=Comodo/CN=Comodo foobar
....
3 s:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA

并且至少有一个条目(在上面的例子中是 3 个)你有一个最终的根; S 与 i 相同。如果您只看到一个条目

0 s:/C=GB/OU=Domain Control Validated/CN=<your domain>
i:/C=BE/O=Comodo/CN=Comodo foobar

仅此而已 - 然后再次检查您的链 - 并确保它包含的证书的主题与您的颁发者相同(在上面的示例中 '/C= BE/O=Comodo/CN=Comodo foobar').

您可以通过解析您的包中的每个 blob 来检查这一点

 openssl x509 -noout -in file.pem -subject -issuer

其中 file.pem 是您的 SSLCertificateChainFile 文件的一部分。

警告:以上是一个轻微的简化——一些链可能有多个根/交叉签名。在那种情况下,它会变得有点复杂 - 但遵循上面的例子。

关于apache - 将 SSL 证书传输到 Rackspace 云服务器 - 偶尔出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11212089/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com