2012-11-19 5 views
17

私は、GoDaddyを介してSSLをセットアップして、AWS EC2上のnode.jsサーバーで使用するよう努めています。私はそれを働かせることができませんでした。ドメインを対象node.jsと連携するためのSSL鍵の生成

::私は実行するサーバーでfiles.mysite.com

$ openssl req -new -newkey rsa:2048 -nodes -keyout files.mysite.key -out files.mysite.csr 

Common Name: files.mysite.com 
password: left empty 

私は、CSRを取得ここで

は、私が試したものです: vim files.mysite.csr

コピー&ペースト:

-----BEGIN CERTIFICATE----- 
......... lots of stuff 
-----END CERTIFICATE----- 

最後に余分な空白行があり、私はGoキーを使用してGoDaddyインターフェイスに退去して貼り付けます。

私はその後、提供GoDaddyのキーをダウンロードしてください:私は何をserver.keyというGoDaddyの与えられているかをserver.crtわからない

key: fs.readFileSync('server.key').toString(), 
cert: fs.readFileSync('server.crt').toString() 

:私は挿入ノードに続いて

gd_bundle.crt 
files.mysite.com.crt 

を2つのcrtファイルを提供しますか?
お手伝いできますか?

+3

この質問にも答えています。あなたのopensslコマンドは、 "Node.jsアプリケーション用のCSRを生成する"に適しています。それは本当に明白です。遅いですか、そうではありません。その情報が必要な私のような人がたくさんいるので、私はこれをupvoteできます。両方の質問と答え。 – rainabba

答えて

25

をGoDaddyのは、あなたの証明書に署名するintermidiate証明書を使用しています。これには、あなたとGoDaddyの両方にいくつかの利点があります。しかし、それを動作させるにはもう少し作業が必要です。 Node.jsので

あなたは、このようにそれらをインストールすることができます。

require('https').createServer({ 
    key: fs.readFileSync('files.mysite.com.key'), 
    cert: fs.readFileSync('files.mysite.com.crt'), 
    ca: [fs.readFileSync('gd_bundle.crt')] // <----- note this part 
}, app).listen(443); 
+2

.keyはどのように生成するのですか? –

+1

ポイントツーチェーンバンドル。 –

+0

なぜcaの周りに[]がありますが、他のフィールドはありませんか? –

3

httpサーバーインスタンスの作成時に.crt.keyファイルを使用する必要があります。次のコードは、あなたのアイデアを与えるだろう。

require('https').createServer({ 
    key: fs.readFileSync('/path/to/something.key'), 
    cert: fs.readFileSync('/path/to/something.crt'), 
}, app).listen(443); 

あなたの鍵のパスフレーズを持っている場合は、次のように、あなたはかかわらず、それを渡すことができます:

require('https').createServer({ 
    key: fs.readFileSync('/path/to/something.key'), 
    cert: fs.readFileSync('/path/to/something.crt'), 
    passphrase: 'your_secret_passpahrase' 
}, app).listen(443); 
関連する問題