2012-11-09 1 views
4

Heroku에서 secure.mydomain.com을 허용 할 ssl 인증서를 생성하는 데 문제가 있습니다. 나는, 시더 스택을 DNSimple를 사용하고, 여기의 지침에 따라 해요 : https://devcenter.heroku.com/articles/ssl-certificateHeroku ssl certs : 키가 암호문으로 보호되어있어 읽을 수 없습니다.

  1. 복사은 server.key & server.orig.crt DNSimple에서
  2. 하나 개의 파일에 $ curl https://knowledge.rapidssl.com/library/VERISIGN/ALL_OTHER/RapidSSL%20Intermediate/RapidSSL_CA_bundle.pem > rapidssl_bundle.pem
  3. 연결할와
  4. 가져 루트 CA 인증서

cat server.orig.crt rapidssl_bundle.pem > server.crt와 함께 그래서 지금 내가 $ heroku certs:add server.crt server.key와 함께 Heroku가 업로드하려고은 server.key & server.orig.crt 파일을 가지고있다. 오류가 발생합니다

Key could not be read since it's protected by a passphrase. 

위의 문서는 server.key 파일에서 암호를 제거하는 방법에 대해서는 언급하지 않았습니다. 그래서 주위를 파고 여기에 문서를 발견 : https://devcenter.heroku.com/articles/ssl#customdomain-ssl. 위의 # 1과 # 2 사이에서이 명령을 실행하고 있습니다.

1b. $ mv server.key server.orig.key

1c. $ openssl rsa -in server.orig.key -out server.key

그러나이 오류 내가 찾은에는 개인 키가이 없음을 의미 의심

unable to load Private Key 
47930:error:0906D06C:PEM routines:PEM_read_bio:no start line:/SourceCache/OpenSSL098/OpenSSL098-47/src/crypto/pem/pem_lib.c:648:Expecting: ANY PRIVATE KEY 

에게 제공합니다.

누구나 여기서 문제가 무엇인지 알 수 있습니까? 이것은 Heroku 문제입니까, 아니면 openssl 문제입니까 (아니면 DNSimple 문제입니까?)?

답변

1

이것은 정말 바보 같지만 Mac OS에서 TextEdit을 사용하여 초기 server.key 및 server.orig.crt 파일을 저장하는 데 문제가 있음을 알 수 있습니다.

대신 TextMate를 사용했는데 모든 것이 잘 작동합니다.

8

DNSimple 및 RapidSSL을 사용하여 Heroku 앱에 SSL 인증서를 설치하는 것과 거의 동일한 문제로 어려움을 겪었으며 비슷한 문제가있는 누군가가이 응답을 접할 경우를 대비하여 여기에 해결책을 게시하고 싶습니다.

나는 DNSimple과의 RapidSSL을 통해 인증서 표시를 설치하는 SO와 Heroku가 dev에 중심에 사방에서 방향을 따라했다, 그러나 나는 시도 할 때마다이 명령을 사용하여 인증서 표시를 추가하지 않으려면 : 상관없이

$ heroku certs:add server.crt bundle.pem server.key

무엇 (나는 그 과정을 통해 여러 번 갔기 때문에)

$ Adding SSL Endpoint to mysite... failed 
! Key could not be read since it's protected by a passphrase. 
! Read instructions on how to remove the passphrase on: 
! http://www.madboa.com/geek/openssl/#key-removepass` 

나는 키가 암호를 가지고 있지 않은 것을 알고 있지만, 아직 추가하지 않았다 : 나는이 오류가있어했다. 어느 것이 클린 처인지는 확실치 않지만 궁극적으로는 두 가지 일을했습니다.

먼저 Apache, Plesk & CPA 상자에서 적절한 PEM 파일을 RapidSSL 이메일 링크에서 중간 인증서로 다운로드해야합니다.내가 시도 후, https://devcenter.heroku.com/articles/heroku-command#installing-the-heroku-cli

나는 아직도 보석을 사용하고 내가 Heroku가-툴 벨트에 도착 할 때까지 제거해야했다 밝혀 :

두 번째 것은 여기에 단계를 통해 이동하여 내 Heroku가 툴 벨트 설치를 확인하는 것이 었습니다 certs를 다시 추가하고 voila.

+7

을 잠을 좀 그리고 당신이 사용하고 만들 수 있습니다 * 최신 * heroku 공구 벨트. 2.30.2에서 2.39.3으로 업그레이드하면이 문제가 해결되었습니다. –

0

오래된 툴벨 설치가 내 문제였습니다.

heroku update이 버전 번호를 2.30.1에서 2.39.0으로 변경했지만 heroku version은 어떤 이유로 정확하게 업데이트되지 않는 것으로 나타났습니다.

https://toolbelt.herokuapp.com/에서 툴 벨트를 재설치하고 다시 시도하면 모든 것이 작동합니다.

heroku version 지금 날이 말한다, 그리고 인증서 표시는 : 작품을 올바르게 추가 일 동안이 문제로 고생

heroku-gem/2.39.0 (i386-mingw32) ruby/1.9.2 
2

을! 이 스레드를 발견하고 업그레이드 조언을 따를 때까지. 내가해야 할 일을했을 우선

보석 Heroku가이

나는 때문에 I에 유래에 읽은 다른 포스트의는 계속 실행 질문에 '예'대답 --all 제거합니다. 그런 다음 나는 https://toolbelt.herokuapp.com/에 가서 toolbelt를 설치했다. (비록 heroku --version은 그것이 설치되었다고 말하는 것이지만). heroku-toolbelt 2.39.0으로 업그레이드했습니다. 다음 명령을 재 시도하고 일했다 :

Heroku가 인증서에서을 : cert.cer의 bundle.pem의은 server.key

를 추가 어쩌면 내가 마지막으로 오늘 밤 :)