NodeJSを使用してExpressJSのインスタンスを実行していますが、HTTPS
の使用を開始したいです。
私の会社は、ネットワークソリューションを通じてSSL証明書を購入しています。 CSRを提供しようとすると、Network Solutionsは、使用しているWebサーバーのタイプを尋ねます。 (つまり、IIS、Apache w/ModSSL、Pleskなど)NodeJSなどのオプションは提供しません。
私は質問で彼らのサポートに連絡しましたが、待っている間、私はコミュニティから知りたいです。
どのサーバータイプを使用する必要がありますか?そして
それも重要ですか?
関連する場合、UbuntuでOpenSSLを使用してCSRを生成しました。
Node.jsは複数の形式の証明書を処理できますが、最も一般的でセットアップが最も簡単なのは、Apache、nginxなどで使用されるPEM形式です。 、完全に異なる形式を使用します。
実際にハングアップする可能性があるのは、NetSolが何らかの理由で持っている中間CA証明書を使用する場合のみです。これらは、使用する前に連結する必要があります。
NetSolのApache/Pleskオプションを選択することをお勧めします。このオプションでは 複数のファイルを受信します 、ここでは重要なのはそのうちの2つだけです:
example.com.crt
-これは実際の証明書です。Apache_Plesk_Install.txt
-紛らわしい名前にもかかわらず、このファイルには実際にはすべての中間CA証明書が連結されており、そのまま使用できます。もちろん、Ubuntuマシンで生成した秘密鍵も必要です。
キーに別の形式を選択した場合でも、Network Solutionsを使用してアカウントにログインし、証明書とApache_Plesk_Install.txt
ファイルを個別にダウンロードできる必要があります。
最後に、これらの証明書をサーバーのどこかにインストールし、 Node.jsを適切にセットアップ :
var https = require('https');
var fs = require('fs');
var options = {
key: fs.readFileSync('.../keys/private.key'),
cert: fs.readFileSync('.../keys/example.com.crt'),
ca: fs.readFileSync('.../keys/Apache_Plesk_Install.txt')
};
https.createServer(options, function (req, res) {
res.writeHead(200);
res.end("hello world\n");
}).listen(443);
これで完了です!