Docker コンテナを使用して Nginx プロキシ サーバーを構成し、SSL を有効にする方法は?
今日のネットワーク環境において、セキュリティは無視できない問題となっています。データの安全な送信を保護するには、SSL 証明書を有効にすることが必要な手順になります。 Docker コンテナを使用して Nginx プロキシ サーバーを構成することがトレンドになっています。この記事では、Docker コンテナを使用して Nginx プロキシ サーバーを構成し、SSL を有効にする方法を説明します。
ステップ 1: Docker をインストールする
まず、Docker をインストールする必要があります。オペレーティング システムに応じて、Docker の公式インストール ガイドを参照してインストールできます。
ステップ 2: Nginx 構成ファイルを作成する
Nginx プロキシ サーバーを構成する前に、プロキシ ルールを定義するための構成ファイルを作成する必要があります。 nginx.conf
という名前のファイルを作成し、次の内容をそこに貼り付けます:
worker_processes auto; events { worker_connections 1024; } http { server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; } } }
上記の構成ファイルは、Nginx プロキシ サーバーがポート 80 をリッスンし、すべてのリクエストをバックエンド サーバーにプロキシすることを指定します。 バックエンド
という名前。
ステップ 3: Docker イメージを作成する
次に、Nginx プロキシ サーバーを実行するための Docker イメージを作成する必要があります。コマンド ラインで、次のコマンドを実行します。
docker build -t nginx-proxy .
このコマンドは、現在のディレクトリにある Dockerfile
ファイルを読み取り、その中の指示に従って ## という名前の Docker イメージを自動的に構築します。 #nginx-プロキシ。
Docker Hub には、
jwilder/nginx-proxy という名前の公式 Nginx プロキシ サーバー イメージがあります。このイメージを使用して、Nginx プロキシ サーバー コンテナーを実行できます。
docker run -d -p 80:80 -p 443:443 -v /var/run/docker.sock:/tmp/docker.sock:ro --name nginx-proxy nginx-proxyこのコマンドは、
nginx-proxy という名前の Docker コンテナを作成し、ホストの 80 ポートをコンテナのポートにマップします。 80 とポート 443 はコンテナーのポート 443 にマッピングされます。
-v /var/run/docker.sock:/tmp/docker.sock:roこのオプションは、Docker コンテナがホスト上の Docker ソケット ファイルを読み取れるようにします。
SSL を有効にするには、プロキシ サーバーの SSL 証明書を構成する必要があります。 Let's Encrypt が提供する無料の SSL 証明書を使用できます。
docker run -d -p 80:80 -p 443:443 --name nginx-proxy nginx-proxyこのコマンドは、
nginx-proxy という名前の Docker コンテナを再作成し、ホストの 80 ポートをポートにマッピングします。コンテナのポート 80 の場合、ポート 443 はコンテナのポート 443 にマッピングされます。
docker exec nginx-proxy /app/certbot-setup.shスクリプトにより、certbot クライアントが自動的にインストールされ、Let's Encrypt サーバーに SSL 証明書の生成が要求されます。 ステップ 6: プロキシ ルールを構成する
最後に、プロキシ ルールを構成する必要があります。 Docker の環境変数を使用してプロキシ ルールを定義できます。
docker run -d -p 80:80 -p 443:443 -e "VIRTUAL_HOST=example.com" -e "LETSENCRYPT_HOST=example.com" --name backend your-backendこのコマンドは、
backend という名前の Docker コンテナを作成し、ホストの 80 ポートをコンテナのポート 80 にマップします。ポート 443 はコンテナのポート 443 にマッピングされます。
-e "VIRTUAL_HOST=example.com" -e "LETSENCRYPT_HOST=example.com"これら 2 つのオプションはプロキシ ルールを構成します。
以上がDockerコンテナを使用してNginxプロキシサーバーを構成し、SSLを有効にする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。