Web サービスへのアクセスを保護するために Docker で Nginx プロキシ サーバーを構成するにはどうすればよいですか?
1. 背景の紹介
現在の Web アプリケーション開発では、セキュリティは非常に重要な考慮事項です。 Web サービスへのアクセスを保護し、アプリケーションのセキュリティを向上させるために、Nginx をプロキシ サーバーとして使用できます。この記事では、Web サービスへのアクセスを保護するために Docker で Nginx プロキシ サーバーを構成する方法を紹介します。
2. Docker のインストール
まず、ローカル マシンに Docker をインストールする必要があります。 Docker は、アプリケーションのデプロイと管理を容易にするオープンソースのコンテナ化プラットフォームです。 Docker 公式 Web サイトからオペレーティング システムに適した Docker バージョンをダウンロードし、公式ドキュメントに従ってインストールできます。
3. Nginx プロキシ サーバー コンテナーの作成
コンテナ間の通信用に新しい Docker ネットワークを作成します:
docker network create nginx-proxy
新しい Nginx プロキシ サーバー コンテナを作成し、新しく作成したネットワークに接続します。
docker run -d --name nginx-proxy --network nginx-proxy -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
この例では、jwilder/nginx-proxy イメージを使用しました。このイメージは、同じ Docker ネットワーク内で実行されているコンテナーを自動的に検出し、指定されたポートを Nginx プロキシ サーバーのポート 80 にマッピングできます。
4. Web サービス コンテナの作成
新しい Web サービス コンテナを作成し、以前に作成した Docker ネットワークに接続します。この例では、単純な Nginx コンテナを Web サービスとして使用します。
docker run -d --name web --network nginx-proxy -e VIRTUAL_HOST=example.com nginx:latest
この例では、環境変数 VIRTUAL_HOST=example.com を指定しました。これは、Nginx プロキシ サーバーに、example.com へのすべてのリクエストを nginx プロキシ ネットワークに接続されているコンテナに転送するように指示します。
5. 設定を確認します
ローカル マシン上の hosts ファイルを変更し、example.com がローカル IP アドレスを指すようにします。
sudo echo "127.0.0.1 example.com" >> /etc/hosts
6. Web サービスへのアクセス権を保護する
Web サービスへのアクセス権を保護するために、Nginx の Basic 認証機能を使用できます。
ユーザー名とパスワードを含むファイルを作成して認証情報を保存します:
sudo sh -c "echo -n 'username:' >> /etc/nginx/.htpasswd" sudo sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"
「ユーザー名」を希望のユーザー名に置き換えてください。
次の環境変数を Nginx プロキシ サーバー コンテナに追加して、基本認証を有効にします:
docker run -d --name nginx-proxy --network nginx-proxy -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro -v /etc/nginx/.htpasswd:/etc/nginx/.htpasswd:ro -e HTTP_AUTHENTICATION=true jwilder/nginx-proxy
Nginx プロキシ サーバー コンテナを再起動します:
docker restart nginx-proxy
ここで、example.com にアクセスすると、ユーザー名とパスワードを求める認証ダイアログ ボックスが表示されます。
上記は、Web サービスへのアクセスを保護するために Docker で Nginx プロキシ サーバーを構成する方法の手順とサンプル コードです。このようにして、Web サービスを効果的に保護し、アプリケーションのセキュリティを向上させることができます。この記事がお役に立てば幸いです!
以上がWeb サービスへのアクセスを保護するために Docker で Nginx プロキシ サーバーを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。