Heroku Comodo SSL и это не работает?

Сегодня утром я приобрел сертификаты SLL от Comodo (через DNSimple) и пытался заставить их работать на моем домене. Вздох. Не имея большого успеха.

Сертификаты, которые я имею, перечислены в электронном письме от Comodo как:

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

После публикации в блоге Райана Макгири я гарантировал, что я сделаю следующее, разместив файлы cry в обратном порядке, который был предложен в электронном письме:

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

Я также скачал ключ с DNSimple и сохранил его в файле с именем 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.

Любая помощь в решении этого вопроса была бы превосходной, так как это действительно поставило меня в тупик.

Я также позаботился о том, чтобы мои записи DNS для www.XXXXXXXX.com и XXXXXXX.com указывали на URL-адрес herokussl.com, указанный в настройке.

Я оставил это в течение 10 часов, надеясь, что это может "прокатиться", но что-то не так, и я не знаю что.

Заранее благодарим за любую помощь, которую вы можете оказать.

1 ответ

Решение

Симона очень помогла проверить, что все работает так, как должно, в отношении установки сертификата с Heroku. Однако может показаться, что на каждой из моих HTML-страниц было "смешанное содержимое", что означало, что "Защищенные" значки не появлялись в Safari (и отображались в Firefox ограниченным образом).

При изменении всего HTML-содержимого, на которое нужно ссылаться с помощью https:// вместо http://, я получил необходимую безопасность для всей страницы.

Мне также нужно было добавить следующее к моему application.rb чтобы мое Rails-приложение безопасно обслуживало все страницы:

config.force_ssl = true

Надеюсь, что это полезно для других людей!

Другие вопросы по тегам