ssl - Heroku Comodo SSL 不起作用?

标签 ssl heroku ssl-certificate dnsimple

我今天早上从 Comodo(通过 DNSimple)购买了 SLL 证书,并一直试图让它在我的域上运行。叹。没有取得很大的成功。

我拥有的证书在 Comodo 的电子邮件中列为:

Root CA Certificate - AddTrustExternalCARoot.crt
Intermediate CA Certificate - COMODORSAAddTrustCA.crt
Intermediate CA Certificate - COMODORSADomainValidationSecureServerCA.crt
Your EssentialSSL Certificate - www_XXXXXXX_com.crt

关注 Ryan McGeary 的博文我已确保执行以下操作,将 cry 文件的顺序与电子邮件中建议的顺序相反:

cat www_XXXXXXXX_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > www_XXXXXXXX_com-bundle.pem

我也从 DNSimple 下载了 key 并将其保存到名为 server.key 的文件中。

当我将证书添加到 Heroku 时,我使用以下命令:

heroku certs:add www_XXXXXXXX_com-bundle.pem server.key

似乎在以下内容中没有报告错误:

Resolving trust chain... done
Adding SSL Endpoint to XXXXXXXX... done
XXXXXXXX now served by XXXXXXXX.herokussl.com
Certificate details:
Common Name(s): XXXXXXXX.com
                www.XXXXXXXX.com

Expires At:     2015-09-28 23:59 UTC
Issuer:         /OU=Domain Control Validated/OU=EssentialSSL/CN=www.XXXXXXXX.com
Starts At:      2014-09-28 00:00 UTC
Subject:        /OU=Domain Control Validated/OU=EssentialSSL/CN=www.XXXXXXXX.com
SSL certificate is verified by a root authority.

当我执行 heroku certs 时,我得到以下信息:

Endpoint                   Common Name(s)                  Expires               Trusted
-------------------------  ------------------------------  --------------------  -------
XXXXXXXXXXX.herokussl.com  www.XXXXXXXX.com, XXXXXXXX.com  2015-09-28 23:59 UTC  True

按照 Heroku 的说明,我尝试使用证书:

curl -kvI https://www.XXXXXXXX.com

Heroku 说我应该期望输出类似于:

$curl -kvI https://www.example.com
* About to connect() to www.example.com port 443 (#0)
*   Trying 50.16.234.21... connected
* Connected to www.example.com (50.16.234.21) port 443 (#0)
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using AES256-SHA
* Server certificate:
*    subject: C=US; ST=CA; L=SF; O=SFDC; OU=Heroku; CN=www.example.com
*    start date: 2011-11-01 17:18:11 GMT
*    expire date: 2012-10-31 17:18:11 GMT
*    common name: www.example.com (matched)
*    issuer: C=US; ST=CA; L=SF; O=SFDC; OU=Heroku; CN=www.heroku.com
*    SSL certificate verify ok.

我没有得到这样的东西......

* Adding handle: conn: 0x7fe62c004400
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x7fe62c004400) send_pipe: 1, recv_pipe: 0
* About to connect() to www.XXXXXXXX.com port 443 (#0)
*   Trying 50.16.247.106...
* Connected to www.XXXXXXXX.com (50.16.247.106) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
* Server certificate: www.XXXXXXXX.com
* Server certificate: COMODO RSA Domain Validation Secure Server CA
* Server certificate: COMODO RSA Certification Authority
* Server certificate: AddTrust External CA Root
> HEAD / HTTP/1.1
> User-Agent: curl/7.30.0
> Host: www.XXXXXXXX.com
> Accept: */*

这似乎表明,当我尝试 https://www.XXXXXXXX.com(我的根地址)时,我没有得到任何 SSL 指示。

显然出了点问题,但我不知道是什么,也不知道如何纠正。我遵循了所有可以在网上找到的建议,但似乎与我从 Comodo 收到的证书略有不同。而且我不知道如何解决这个问题才能使 SSL 证书正常工作。

解决这个问题的任何帮助都非常好,因为它真的难倒了我。

我还确保 www.XXXXXXXX.com 和 XXXXXXX.com 的 DNS 记录指向设置中指定的 herokussl.com URL。

我已经将其放置了 10 个小时,希望它能“波澜起伏”,但出了点问题,我不知道是什么。

在此先感谢您提供的任何帮助。

最佳答案

Simone 在检查 Heroku 证书安装方面是否正常工作方面提供了很大帮助。然而,我的每个 HTML 页面上似乎都有“混合内容”,这意味着“ protected ”图标不会出现在 Safari 中(并且在 Firefox 中以有限的方式显示)。

在将所有 HTML 内容更改为使用 https://而不是 http://引用时,我获得了整个页面所需的安全性。

我还需要将以下内容添加到我的 application.rb 以使我的 Rails 应用程序安全地为所有页面提供服务:

config.force_ssl = true

希望这对其他人有用!

关于ssl - Heroku Comodo SSL 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26100642/

相关文章:

java - 从 Java 连接到 HTTPS 服务器并忽略安全证书的有效性

Android:打开一个 keystore 作为 Assets 来制作 SSLSocketFactory

ruby-on-rails - 如何让 ruby​​ 脚本在 Heroku 上的 Rails 应用程序中持续运行?

运行时下载的自签名证书的 Android N 网络安全配置

php - 如何在 Opencart 中使用 SSL 将信息发送到另一个页面

迁移到 10.4 Sydney 后出现 Delphi Indy SSL 错误

macos - 如何使用 OS X 的 "security add-trusted-cert"命令为证书指定策略约束? (用于 SSL 网络套接字连接)

mongodb - mlab 重置数据库密码

ruby-on-rails-3 - 调试 heroku 500 服务器错误?

java - 如何使用java中的Bouncy CaSTLe从CSR文件中确定公钥大小?