20

AWS EC2 上の node.js サーバーで使用するために、GoDaddy 経由で 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-----

最後に余分な空の行がありますが、これを残してキーの再生成を使用して GoDaddy インターフェイスに貼り付けます。

次に、以下を提供する godaddy キーをダウンロードします。

gd_bundle.crt
files.mysite.com.crt

次に、ノードに次を挿入します。

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

GoDaddy が 2 つの crt ファイルを提供しているのに、server.key または server.crt が何かわかりませんか?
手伝ってくれますか?

4

2 に答える 2

27

GoDaddy は中間証明書を使用して証明書に署名します。これには、あなたと 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);
于 2012-11-19T08:50:06.077 に答える
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);
于 2012-11-19T07:07:35.017 に答える