インターネットセキュリティが重要な今日の時代には、ユーザーの認証情報を保護することが特に重要です。効率的なプロキシサーバーとして、NGINXは高性能の逆プロキシ関数を提供するだけでなく、認証情報のセキュリティを効果的に保護することもできます。この記事では、Nginx Proxyサーバーを構成する方法を詳細に紹介し、Webサービスのユーザー認証情報が漏れないようにします。
まず、nginxをインストールする必要があります。ほとんどのLinux分布では、パッケージマネージャーを介してすばやくインストールすることができます。たとえば、ubuntuシステムでは、次のコマンドを実行してインストールできます。
sudo apt-getアップデート
sudo apt-getインストールnginx
次に、nginxプロキシサーバーを構成します。 LocalHostのポート3000で実行されているバックエンドWebサービスがあり、各リクエストが認証トークンを運ぶ必要があるとします。これが構成ファイルの例です。
サーバー{
匂いく80;
server_name example.com;
#SSL証明書を構成する(オプション)
ssl_certificate/path/to/ssl_certificate;
ssl_certificate_key/path/to/ssl_certificate_key;
位置 / {
proxy_pass http:// localhost:3000;
#プロキシリクエストヘッダーを有効にします
proxy_set_headerホスト$ host;
proxy_set_header x-real-ip $ remote_addr;
proxy_set_header x-forwarded-proto $ scheme;
proxy_set_header x-forwarded-for $ proxy_add_x_forwarded_for;
#認証情報のリクエストヘッダーを追加します
proxy_set_header認証$ http_authorization;
}
}
上記の構成では、nginxプロキシは、example.comからlocalhost:3000ポートのすべてのリクエストをバックエンドWebサービスにプロキシします。同時に、proxy_set_headerディレクティブを構成することにより、プロキシリクエストは、バックエンドWebサービスを正しく処理できるように、必要なヘッダー情報(ホスト、X-Real-IPなど)を伝達します。
$ http_authorization変数を使用してクライアントの認証トークンに合格することが特に重要です。バックエンドWebサービスは、この情報に基づいてユーザーを認証できます。
構成が完了したら、次のコマンドでnginxサービスを開始できます。
sudo systemctl start nginx
Curlコマンドを使用して、認証情報を含むリクエストをプロキシサーバーに送信して、認証情報が保護されているかどうかを確認できます。例えば:
curl -h "認める:Bearer Your_Token" http://example.com
BackEnd Webサービスでは、以下の認証トークンを確認できます。
const token = req.headers.authorization;
//トークンの有効性とユーザーID
NGINXプロキシサーバーを構成することにより、Webサービスでユーザー認証情報を効果的に保護し、漏れや改ざんを回避して、機密情報が安全な方法で送信されるようにします。 Nginxのような信頼できる強力なツールを選択して、安全で効率的なWebサービスを構築するのに役立ちます。