Nodejs+socket.io+express+https その1 HTTPS サーバーの起動

javascript

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');
モジュール           説明
expressNode.jsで利用できるWebアプリケーションフレームワーク。
httpsHTTPSサーバ(SSL)を作成するためのモジュール。
fsファイルを扱うためのモジュール。
cryptoJavaScript から 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サーバーが動作しています。
※動作しないときは、使用するポートが開放されていない可能性があります。

参考サイト

コメント