2019.12.16ケネExpress.js(Node.js)をhttpsサーバで運用するツイートシェアはてブ送るPocket※当サイトはアフィリエイト広告を利用していますhttpサーバで構築しているNode.jsアプリケーションをhttpsに切り替える際の手順です。ハマりやすいポイントも解説していきます。Node.jsアプリケーションを修正httpsサーバ構築手順httpsサーバ構築するための手順は概ね以下の段階を踏む必要があります。独自ドメインは有料ですがそこまで高くありません。サーバ証明書もオープンソースで無料で取得できます。大きなコストはかかりませんので、気軽に試してみてください。独自ドメインを取得お名前.com等で独自ドメインを取得します。サーバ証明書を発行する際に必要ですので事前に取得しておきます。自分で運用するだけであれば「.com」の部分は好きに選んで問題ありません。私は今回は「.xyz」にしました。初年度1円とかでも2年目3000円とかのドメインもあるので、購入する前に2年契約等を選択して値段は確認しておきましょう。独自ドメイン取得後はドメイン側のネームサーバ設定、VPS側のネームサーバ設定が必要です。さくらのVPSの場合の独自ドメイン設定は公式サイトの手順を確認してください。ドメイン側に登録するネームサーバーはさくらのVPSのネームサーバを登録します。Encryptでサーバ証明書を取得すると無料で作成できます。Startedを参考にcertbotを使用します。7を選択すると手順が確認できます。–standaloneコマンドで証明書を発行します。renewCentOS7の場合、以下のディレクトリに証明書が保存されています。/etc/letsencrypt/live/xxxxxxxx.xyzここではfirewalld設定、権限がハマりそうなので別記事で解説します。Encryptは90日以内に証明書更新が必要です。確認手順は以下記事にまとめています。Node.jsアプリケーションを修正bin/wwwファイルを修正します。app);httpsServer.listen('4000');httpサーバがポート3000、httpsサーバがポート4000で起動している状態です。公式サイトにはchain.pemのところはありませんので注意してください。responseエラーが発生します。caは参照されているのでそのまま記載してください。pkeyとかにしてしまうとエラー(ERR_SSL_VERSION_OR_CIPHER_MISMATCH)になります。エラーの確認方法は別記事で解説します。(Express.js)HTTPSサーバ構築時にエラーが出た際の原因確認方法ここまでの設定でブラウザからhttps接続できることが確認できます。Encryptの証明書の有効期限を確認する自作アプリケーション初心者にはさくらVPSが手軽でおすすめです。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。USケネはじめまして、ケネです。Node.jsの技術情報を書いています。一人でも多くの方と「自分でもできた」感覚を共有したいので、なるべくわかりやすく、実体験ベースでのブログを心がけています。技術で自分の世界を広げましょう。不明点や質問があればお気軽にコメントください。