【问题标题】:How do I fix incomplete certificate chain in nginx如何修复 nginx 中不完整的证书链
【发布时间】:2017-01-21 01:53:31
【问题描述】:

我正在使用一个名为 coroinium cloud 的包,并且我最近设置了 ssl。 Coronium cloud 是一个用于使用 corona SDK 开发的应用程序的服务器包。它使用 nginx 作为包的服务器。您可以通过浏览器连接到一个控制面板,该控制面板可以正常加载,并且 Firefox 表示该证书是受信任的。但是,它在应用程序上不起作用,而是显示一个错误,指出证书不受信任(Android 上的 CertPathValidatorException)。我使用了digicert的工具来检查ssl配置:

screenshot of digicert test

coronium cloud 的创建者提供了有关如何设置它的说明,我完全按照这些说明进行操作。我从startssl.com 获得了证书并在那里使用了Nginx 证书。有谁知道我该如何解决这个问题,因为它阻碍了我开发其他功能,因为我现在无法使用我的应用程序的任何部分,直到这个问题得到解决。

提前感谢任何可以帮助我的人

【问题讨论】:

    标签: android ssl nginx ssl-certificate coronasdk


    【解决方案1】:

    您应该使用您的证书颁发机构提供的证书链,与您的证书同时使用,并遵循 nxinx 文档:

    https://nginx.org/en/docs/http/configuring_https_servers.html#chains

    cat www.example.com.crt bundle.crt > www.example.com.chained.crt

    在你的服务器块中:

    ssl_certificate www.example.com.chained.crt;

    【讨论】:

    • 我使用了startcom提供的证书包,但似乎暗示部分证书丢失。我不熟悉 ngnix,因为它是一个软件包,所有配置都是由一个自动化工具完成的。是配置还是证书有问题?
    • 我已经配置好了。可能是证书有问题吗?
    • ssl_certificate 指定的文件中缺少中间证书。该文件应该包含从您的 CA、中间证书开始的证书列表,然后是您的证书。您的文件包含一些中间件和您的证书,但缺少开头。
    • 我想我找到了问题所在。在 ngnix 配置文件中,包设置中包含一个文件。文件名错误。但是我没有编辑它的权限。你知道我如何授予权限吗?
    • 我使用了专门为 nginx 创建的文件,它是它们的捆绑包。我原以为为 nginx 创建的包将包含所有必需的证书
    猜你喜欢
    • 2017-03-10
    • 2018-04-27
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 2015-08-22
    • 2015-12-23
    • 2022-01-03
    相关资源
    最近更新 更多