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

Cit*_*zen 3 nginx laravel-forge

我有一个应用程序在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;
Run Code Online (Sandbox Code Playgroud)

Ale*_*orb 7

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

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

磕磕绊绊地回答@Citizen和Nginx没有提供中间证书的帖子帮助我解决了这个问题.有关调试说明,请参阅此文章.

如何解决问题

SSL-状态

使用openssl s_client -connect www.timtimer.at:443检查证书链.(因为我正在使用Windows,我只是使用git bash来使用此命令).它应该是一个真实的链,如下所示(s = subject,i = issuer).所以你总是有一个发行人的主题.该发行人应该是由另一个当局颁发的下一个主题,等等.最后一个主题是自己的发行人.

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

证书链
0 s:/ OU =域控制验证/ OU = PositiveSSL/CN = www.timtimer.at
i:/ C = GB/ST =大曼彻斯特/ L = Salford/O = COMODO CA Limited/CN = COMODO RSA域验证安全服务器CA.

验证返回码为:21(无法验证第一个证书).

检查你的服务器配置文件(我正在使用带有nginx的Laravel forge,所以我的文件将是/ 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;
Run Code Online (Sandbox Code Playgroud)

所以在我的情况下,证书存储在/etc/nginx/ssl/default/2658/server.crt中.现在编辑此文件并确保将所有需要的证书放在那里.我按以下顺序从zip文件中添加了证书的内容:

  1. www_timtimer_at.crt
  2. COMODORSAAddTrustCA.crt
  3. COMODORSADomainValidationSecureServerCA.crt
  4. 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-----
Run Code Online (Sandbox Code Playgroud)

之后/etc/init.d/nginx restart一切都看起来很不错.

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

证书链
0 s:/ OU =域控制验证/ OU = PositiveSSL/CN = www.timtimer.at
i:/ C = GB/ST =大曼彻斯特/ L = Salford/O = COMODO CA Limited/CN = COMODO RSA域验证安全服务器CA
1:/ C = GB/ST =大曼彻斯特/ L =索尔福德/ O = COMODO CA限制/ CN = COMODO RSA域验证安全服务器CA
i:/ C = GB/ST =大曼彻斯特/ L = Salford/O = COMODO CA Limited/CN = COMODO RSA认证机构
2:/ C = GB/ST =大曼彻斯特/ L = Salford/O = COMODO CA Limited/CN = COMODO RSA认证机构
i:/ C = SE/O = AddTrust AB/OU = AddTrust外部TTP网络/ CN = AddTrust外部CA根
3 s:/ C = SE/O = AddTrust AB/OU = AddTrust外部TTP网络/ CN = AddTrust外部CA根
i:/ C = SE/O = AddTrust AB/OU = AddTrust外部TTP网络/ CN = AddTrust外部CA根

验证返回码为:19(以证书链自签名证书).