AWS EC 2でNODEJSアプリのために自由なSSLをセットアップする方法
最近、AWS EC 2で無料SSL証明書NODEJSアプリを設定する方法を考え出しました.そして、今までのことを共有したいと思います.
まず、以下の前提条件が必要です. インスタンスがインストールされて 任意のプロバイダから購入ドメイン
ステップ1.EC 2セットアップ
インスタンスの作成
Aを使いました
セキュリティグループ
セットアップインバウンドセキュリティグループの設定
エラスティックIP
インスタンスの静的IPアドレスを割り当てる ネットワークへのEC 2ダッシュボード をクリックして割り当てる 新しく生成された静的IPを選択します.ドロップダウンアクションをクリックします
あなたのインスタンスにssh
EC 2ダッシュボードのインスタンスに移動します
手順2.IPテーブルの設定
Nodejs Expressサーバーがポート80/443にアクセスできないため、IPテーブルを設定する必要があります.私たちはHTTPSのためのポート8443(HTTPのための8000)を聞いて、それにトラフィックをリダイレクトするためにサーバーをセットアップします.
ステップ3.プライベートキー、CAバンドルとSSL証明書を生成する
使いましょうSSL For Free 無料でキーとSSL証明書を生成するために.
まず、アカウントを作成する必要がありますSSL For Free
証明書をクリック ドメインまたはサブドメインを入力し 無料のSSLと次のステップのための 注文を完了し、無料で選択してください 次に、ドメインを検証する必要があります 最後に、我々のドメインを確認するのに少し時間がかかるでしょう オーダーが発行されるならば、証明書をダウンロードしてください
ステップ4.ドメインルーティング
次に我々のインスタンスをドメインプロバイダにルーティングします. DNS管理ダッシュボード クリエイト
その後、いくつかの時間を待って設定をアクティブにする
ステップ5.認証活性化
最後に、SSL証明書を適用する簡単なサーバを作成します. まず、あなたのEC 2インスタンスへのssh からの証明書のzipファイルをアップロードして抽出SSL For Free プロジェクトフォルダに クリエイト 以下に簡単なサーバを作ります.
ラン 今すぐあなたのブラウザを開き、ドメインに移動 すべてが正しく設定されている場合は、ブラウザのアドレスバーに緑色のhttpsが表示されます.
フォルダ構造
まず、以下の前提条件が必要です.
ステップ1.EC 2セットアップ
インスタンスの作成
Aを使いました
t2.micro
Linuxのインスタンスを選択し、希望のインスタンスを選択してセキュリティグループ
セットアップインバウンドセキュリティグループの設定
80
, HTTPSポート443
, and 22
sshも同様です.エラスティックIP
インスタンスの静的IPアドレスを割り当てる
あなたのインスタンスにssh
EC 2ダッシュボードのインスタンスに移動します
手順2.IPテーブルの設定
Nodejs Expressサーバーがポート80/443にアクセスできないため、IPテーブルを設定する必要があります.私たちはHTTPSのためのポート8443(HTTPのための8000)を聞いて、それにトラフィックをリダイレクトするためにサーバーをセットアップします.
# Lookup IP routing tables
sudo iptables -t nat -L
# Add HTTP port 80 and 443 traffic redirect rule
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8000
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443
ステップ3.プライベートキー、CAバンドルとSSL証明書を生成する
使いましょうSSL For Free 無料でキーとSSL証明書を生成するために.
ステップ4.ドメインルーティング
次に我々のインスタンスをドメインプロバイダにルーティングします.
A Record
エラスティックIPアドレスを値とし、SSL For Free ステップ5.認証活性化
最後に、SSL証明書を適用する簡単なサーバを作成します.
index.js
ファイルを作成し、次のコードを書き込みますconst https = require('https');
const fs = require('fs');
const https_options = {
ca: fs.readFileSync("ca_bundle.crt"),
key: fs.readFileSync("private.key"),
cert: fs.readFileSync("certificate.crt")
};
https.createServer(https_options, function (req, res) {
res.writeHead(200);
res.end("Welcome to Node.js HTTPS Server");
}).listen(8443)
node index.js
フォルダ構造
Node Project
│ index.js
│ private.key // Zip file from SSL For Free
│ ca_bundle.crt // Zip file from SSL For Free
│ certificate.crt // Zip file from SSL For Free
Reference
この問題について(AWS EC 2でNODEJSアプリのために自由なSSLをセットアップする方法), 我々は、より多くの情報をここで見つけました https://dev.to/arifintahu/how-to-set-up-free-ssl-for-nodejs-app-in-aws-ec2-30fjテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol