Nodejs+socket.io+expressが無事インストールが出来たのでhttps仕様でサンプルを動かしてみました。
JavaScriptの勉強から
JavaScript初心者のため、サンプルを見ていて調べたことも記載します。
var
varでは再宣言、再代入が可能。
const
再宣言、再代入が禁止。
require
外部ライブラリを参照する。
サーバー側プログラム(chat05.js)
モジュールの読み込み
今回のサンプルに必要なモジュールを読み込みをします。
const app = require('express')();
const https = require('https');
const fs = require('fs');
const crypto = require('crypto');
モジュール | 説明 |
express | Node.jsで利用できるWebアプリケーションフレームワーク。 |
https | HTTPSサーバ(SSL)を作成するためのモジュール。 |
fs | ファイルを扱うためのモジュール。 |
crypto | JavaScript から OpenSSLの暗号機能を利用するためのモジュール。※次回記事にて使用。 |
HTTPSサーバーの起動
const ssl_server_key = '/etc/letsencrypt/live/###/privkey.pem';
const ssl_server_crt = '/etc/letsencrypt/live/###/cert.pem';
const options = {
key: fs.readFileSync(ssl_server_key),
cert: fs.readFileSync(ssl_server_crt)
};
const https_server = https.createServer( options,app );
const port=8443;
https_server.listen(port);
app.get( '/', function( req, res ){
res.contentType( "text/plain" );
res.writeHead( 200 );
res.end( "Hello World." );
});
1行目 | 証明書の保存先を代入しています。”###”の部分は環境に応じて変更してください。 |
2行目 | 鍵のデータの保存先を代入しています。”###”の部分は環境に応じて変更してください。 |
3行目 | optionに証明書と鍵のデータを読み込みます。 |
7行目 | httpsサーバーを起動します。今回は8443ポートを使用します。 |
11行目 | クライアントが接続すると、”Hello World”文字列をクライアント側に送ります。 |
動作確認
ブラウザから”https://###:8443/”にアクセスして、”Hello World”が表示されれば無事httpsサーバーが動作しています。
※動作しないときは、使用するポートが開放されていない可能性があります。
コメント