gpt4 book ai didi

nginx - 如何在 Laravel Forge 上安装 CA 包?

转载 作者:行者123 更新时间:2023-12-04 16:58:56 25 4
gpt4 key购买 nike

我有一个应用程序在 Chrome for Android 上收到 SSL 警告,结果我需要从 RapidSSL 添加我的 CA Bundle。我看不到使用 Laravel Forge 执行此操作的方法。我怎样才能做到这一点?

我的 nginx 配置是由 Laravel Forge 自动生成的,如下所示:

# FORGE SSL (DO NOT REMOVE!)
ssl on;
ssl_certificate /etc/nginx/ssl/mydomain.com/1646/server.crt;
ssl_certificate_key /etc/nginx/ssl/mydomain.com/1646/server.key;

最佳答案

之前的状态:不受信任的页面

我对来自 https://cheapsslsecurity.com/ 的 comodo 证书有同样的问题.起初,我通过 laravel forge 网络界面(www_timtimer_at.crt)只安装了域特定的证书,这导致了一个不受信任的页面。

偶然发现@Citizen 的回答和帖子 Nginx not serving intermediate certificate帮我修好了。有关调试说明,另请参阅此帖子。

如何解决问题

SSL-状态

使用 openssl s_client -connect www.timtimer.at:443检查证书链。 (因为我使用的是 Windows,所以我只是使用 git bash 来使用这个命令)。它应该是一个真正的链,如下所示(s=subject,i=issuer)。所以你总是有一个发行人的主题。这个发行人应该是下一个由另一个机构发行的主题,依此类推。最后一个主体是发行人。

起初我的证书链如下所示:

Certificate chain
0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=www.timtimer.at
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA



验证返回码 是:21(无法验证第一个证书)。

解决方案

检查您的服务器配置文件(我将 Laravel forge 与 nginx 一起使用,因此我的文件将是/etc/nginx/sites-available/default 以获取您正在使用的证书的位置。请注意以下部分
# FORGE SSL (DO NOT REMOVE!)
ssl_certificate /etc/nginx/ssl/default/2658/server.crt;
ssl_certificate_key /etc/nginx/ssl/default/2658/server.key;

所以在我的情况下,证书存储在/etc/nginx/ssl/default/2658/server.crt 中。现在编辑这个文件并确保你把所有需要的证书都放在那里。我按以下顺序添加了 zip 文件中的证书内容:
  • www_timtimer_at.crt
  • COMODORSAAddTrustCA.crt
  • COMODORSADomainValidationSecureServerCA.crt
  • AddTrustExternalCARoot.crt

  • 该文件应如下所示
    -----BEGIN CERTIFICATE-----
    ... (www_timtimer_at.crt)
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    ... (COMODORSAAddTrustCA.crt)
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    ... (COMODORSADomainValidationSecureServerCA.crt)
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    ... (AddTrustExternalCARoot.crt)
    -----END CERTIFICATE-----

    经过 /etc/init.d/nginx restart一切看起来都很好。

    我收到以下 证书链执行后 openssl s_client -connect www.timtimer.at:443 :

    Certificate chain
    0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=www.timtimer.at
    i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
    1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
    i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
    2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
    i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
    3 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



    验证返回码 是:19(证书链中的自签名证书)。

    关于nginx - 如何在 Laravel Forge 上安装 CA 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25726037/

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