2017-02-28 5 views
0

後、私はNodeJS公式サイトで見つけたスクリプトです:SSL接続にNodeJS(エクスプレス)ベースのサーバーを有効にする方法

// curl -k https://localhost:8000/ 
const https = require('https'); 
const fs = require('fs'); 

const options = { 
    key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), 
    cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem') 
}; 

https.createServer(options, (req, res) => { 
    res.writeHead(200); 
    res.end('hello world\n'); 
}).listen(8000); 

私はSSLの事に全く新たなんです。 NodejsでSSLを有効にする方法についてのチュートリアルを読みましたが、まだプロセスには自信がありません。

私は、ドメイン名(Godaddy)、SSL(Namecheap)、Cloud Server(HTTPプレフィックスにアプリケーションをデプロイしたDigital Ocean)を持っています。

私のウェブサイトのログインページを開くと、Google Chromeはそれを「セキュリティで保護されていません」とマークするので、ウェブサイトにSSLを追加したいとします。

NodeJSサーバー(Express)で何が必要なのですか、そしてNamecheapで何をする必要がありますか?それをする順序は何でしょうか? .pem .csrファイルを生成するためのcmd行は何ですか?

私は見つからなかったし、包括的なガイドは簡潔な方法ですべてのステップを敷設したので、さらなる掘削のためのリソースへのリンクを使って簡潔に(可能であれば)敷設しました。

また、私は上記のスクリプトの中でhttpsサーバーを作成するためにエクスプレスフレームワークを使用することはできますか?

+0

これを試してください。 http://stackoverflow.com/questions/11744975/enabling-https-on-express-js – MjZac

答えて

0

このスクリプトは、httpsの証明書を設定するのに適切です。あなたのサイトが公開されていると思われる場合は、あなたのsslサービスであるNamecheapから証明書を購入したいと思うでしょう。次に、それらをあなたのホストに移動し、あなたの例のオプションオブジェクトでそれらを参照します。しかし、独自のSSL証明書を生成することもできます。あなたが自己署名/作成したので、信頼されていないと警告されます。 Namecheapオプションを使うことをお勧めします。

注:あなたの例にはhttpsサーバーしかありません.HTTP経由でサイトにアクセスしようとすると空白のページが表示されます。また、次を経由して、httpサーバを作成する必要があります:

var http = require('http'); 
http.createServer(...); 

私はhttpサーバは、単にHTTPS URLにリダイレクトしたお勧めします。

関連する問題