Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx 如何在Laravel Forge上安装CA捆绑包?_Nginx_Laravel Forge - Fatal编程技术网

Nginx 如何在Laravel Forge上安装CA捆绑包?

Nginx 如何在Laravel Forge上安装CA捆绑包?,nginx,laravel-forge,Nginx,Laravel Forge,我有一个应用程序在Chrome for Android上得到SSL警告,结果我需要从RapidSSL添加我的CA包。我看不到一个方法来做到这一点使用拉威尔锻造。我怎样才能做到这一点 我的nginx配置由Laravel Forge自动生成,如下所示: # FORGE SSL (DO NOT REMOVE!) ssl on; ssl_certificate /etc/nginx/ssl/mydomain.com/1646/server.crt; ssl_certificate_key /etc/ng

我有一个应用程序在Chrome for Android上得到SSL警告,结果我需要从RapidSSL添加我的CA包。我看不到一个方法来做到这一点使用拉威尔锻造。我怎样才能做到这一点

我的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;

好的,我通过以下步骤解决了这个问题:

  • 下载RapidSSL CA捆绑包:
  • 将其粘贴到文本文件中我的证书下面
  • 当Laravel forge索要我的证书时,将三份证书一份粘贴到其中
  • 成功了

    之前的状态:不受信任的页面 我有同样的问题,从一个科摩多证书。起初,我只通过laravel forge Web界面(www_timtimer_At.crt)安装了特定于域的证书,这导致了一个不受信任的页面

    偶然发现了@Citizen和post的答案帮助我解决了这个问题。有关调试说明,请参见本文

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

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

    证书链
    0s:/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域验证安全服务器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\u timtimer\u 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后,一切看起来都很好

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

    证书链
    0s:/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域验证安全服务器CA
    1s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA域验证安全服务器CA
    i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA认证机构
    2s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA认证机构
    i:/C=SE/O=AddTrust AB/OU=AddTrust外部TTP网络/CN=AddTrust外部CA根目录
    3s:/C=SE/O=AddTrust AB/OU=AddTrust外部TTP网络/CN=AddTrust外部CA根目录
    i:/C=SE/O=AddTrust AB/OU=AddTrust外部TTP网络/CN=AddTrust外部CA根


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

    我绝不是SSL专家,但如果包含
    AddTrustExternalCARoot.crt
    证书,则将返回警告。如果不包含该证书,则不会出现问题。