我们通过DNSimple购买了SSL证书,并将其安装在我们的Heroku SSL端点上。现在通过SSL导航到该应用程序在Chrome和Safari上工作正常,但Firefox显示"此连接不受信任"错误。为什么只有 Firefox 会不信任 SSL 证书?
我们找出了问题所在:
Heroku 文档指向以下 bundle.pem 文件,该文件不适用于 FIREFOX:https://knowledge.rapidssl.com/library/VERISIGN/ALL_OTHER/RapidSSL%20Intermediate/RapidSSL_CA_bundle.pem
正确的 bundle.pem 文件位于:
https://knowledge.rapidssl.com/library/VERISIGN/INTERNATIONAL_AFFILIATES/RapidSSL/AR1548/RapidSSLCABundle.txt如RapidSSL网站上所示。
Heroku 文档需要更新。希望这可以为其他人节省一些时间。
更新:我们向 Heroku 报告了此事,他们更新了他们的文档,所以这不再是问题。
Mozilla在其产品中包含证书颁发机构(CA)列表,Google,Apple,Microsoft等也是如此。如果您的证书可以追溯到其中之一,则浏览器将信任它。如果没有,则必须添加例外,或将证书导入浏览器。
包含的 CA 列表是根据不同浏览器制造商的心血来潮创建的。有些包含证书的根 CA,而 Mozilla 似乎没有。
您可以在此处获取 Mozilla 包含的 CA 列表。检查您的证书详细信息。如果根 CA 在此列表中,请将其作为 Mozilla 的错误。如果不是,您可以尝试询问他们是否会在下一个版本中包含它。
这是 rapidssl 的问题,但不是你的问题。
您不仅应该提供server certificate
,还应该连接您的server certificate
和INTERMEDIATE ca certificate
。
做
$ cat ca_certificate.crt >> server_.crt
并重新启动您的 nginx。
您可以在购买证书的网站上找到 CA 证书。