У меня есть несколько связанных сервисов на разных поддоменах первого уровня одного домена. Цель состоит в том, чтобы включить https во всех из них.
Итак, я купил подстановочный SSL-сертификат от GoDaddy для своего домена: * .domain.com.
Затем я сделал ключ, как указано здесь: http://blog.dynamic50.com/2011/02/15/ssl-on-wildcard-domains-on-heroku-using-godaddy/
Затем я обновил две службы: одна из них - это автономное приложение Ruby (goliath), размещенное на Rackspace, а вторая - на Heroku. Автономный работает нормально (сертификат действителен, но Chrome говорит, что не может проверить, отозван ли он), но в браузере приложения Heroku говорится: «Паника, сертификат отозван, уходите». Оба приложения используют одни и те же файлы crt и ключей. Где может быть проблема?
вот вывод CURL для сервисов (есть разница в последних строках):
1. standalone
* SSLv3, TLS handshake, Client hello (1):
...
* SSLv3, TLS handshake, Finished (20):
* SSL connection using AES256-SHA
* Server certificate:
* subject: O=*.mydomain.com; OU=Domain Control Validated; CN=*.mydomain.com
* start date: 2012-05-17 12:37:43 GMT
* expire date: 2012-08-02 12:34:51 GMT
* subjectAltName: standaloneservice.mydomain.com matched
* issuer: C=US; ST=Arizona; L=Scottsdale; O=GoDaddy.com, Inc.; OU=http://certificates.godaddy.com/repository; CN=Go Daddy Secure Certification Authority; serialNumber=07969287
* SSL certificate verify ok.
2. heroku
* SSLv3, TLS handshake, Client hello (1):
...
* SSLv3, TLS handshake, Finished (20):
* SSL connection using AES256-SHA
* Server certificate:
* subject: O=*.mydomain.com; OU=Domain Control Validated; CN=*.mydomain.com
* start date: 2011-08-02 12:34:51 GMT
* expire date: 2012-08-02 12:34:51 GMT
* subjectAltName: herokuservice.mydomain.com matched
* issuer: C=US; ST=Arizona; L=Scottsdale; O=GoDaddy.com, Inc.; OU=http://certificates.godaddy.com/repository; CN=Go Daddy Secure Certification Authority; serialNumber=07969287
* SSL certificate verify result: self signed certificate in certificate chain (19), continuing anyway.
Любые советы и советы по отладке приветствуются.
Спасибо!
У двух сертификатов разная дата начала действия сертификата, поэтому вы не используете одну и ту же дату для обоих.
Я держу пари, что сегодня у вас был GoDaddy перевыпустил групповой сертификат (который установлен в автономной службе - у него неполный год действия вместо полного года), а сертификат в службе Heroku был отозван в обработать.
Проверить с openssl s_client -connect server:port -showcerts
- у двух сертификатов одинаковый серийный номер, но разные отпечатки пальцев. Вам нужно будет убедиться, что вы получили новый сертификат в том месте, где его хочет Heroku, а затем перезапустите службу, чтобы она загрузила новый файл.