ホームページ >バックエンド開発 >PHPチュートリアル >SSL 暗号化保護のために Docker で Nginx プロキシを構成するにはどうすればよいですか?
SSL 暗号化保護を実現するために Docker で Nginx プロキシを構成するにはどうすればよいですか?
インターネットの発展に伴い、データセキュリティの問題がますます顕著になってきています。データのセキュリティを確保するために、SSL (Secure Sockets Layer) は必須の暗号化プロトコルとなっています。プロキシに Nginx を使用する場合、SSL 証明書の構成は基本的なセキュリティ操作です。この記事では、Docker で Nginx プロキシを構成して SSL 暗号化保護を実現する方法を紹介します。
1. Docker と Nginx をインストールする
まず、サーバーに Docker と Nginx をインストールする必要があります。ご使用のオペレーティング システムとディストリビューションのバージョンに応じてインストールできます。
2. SSL 証明書の生成
Nginx の SSL 暗号化を設定するには、SSL 証明書を生成する必要があります。自己署名証明書は、次のコマンドで生成できます。
$ openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout server.key -out server.crt
これにより、自己署名 SSL 証明書が生成されます。
3. Docker イメージの作成
次に、Nginx 用の Docker イメージを作成する必要があります。次の内容の新しい Dockerfile ファイルを作成できます:
FROM nginx:latest COPY nginx.conf /etc/nginx/nginx.conf COPY server.crt /etc/nginx/server.crt COPY server.key /etc/nginx/server.key EXPOSE 80 EXPOSE 443
この Dockerfile では、Nginx 構成ファイル nginx.conf と SSL 証明書の server.crt および server.key をイメージ内の対応するディレクトリにコピーします。そして、コンテナがリッスンする必要があるポート (80 と 443) を指定します。
4. Nginx プロキシの構成
次に、Nginx プロキシ設定を構成する必要があります。 nginx.conf ファイルでは、次の例に従って構成できます。
worker_processes auto; events {} http { server { listen 80; server_name example.com; location / { proxy_pass http://backend; } } server { listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/server.crt; ssl_certificate_key /etc/nginx/server.key; location / { proxy_pass http://backend; } } } upstream backend { server backend_host:backend_port; }
上記の構成では、まず、アップストリームの名前付きバックエンドを定義して、バックエンド サーバーのアドレスとポートを指定します。次に、2 つのサーバー ブロックを構成し、1 つはポート 80 でリッスンし、もう 1 つはポート 443 でリッスンします。ポート443のサーバーブロックでは、指定されたSSL証明書と秘密鍵を使用し、プロキシ転送アドレスを設定しました。
5. Docker コンテナを構築して実行する
最後に、Docker コンテナを構築して実行する必要があります。
まず、次のコマンドを使用して Docker イメージを構築します:
$ docker build -t nginx-ssl .
次に、次のコマンドを使用して Docker コンテナを実行します:
$ docker run -d -p 80:80 -p 443:443 --name nginx-ssl nginx-ssl
これにより、80 ポートがマップされますコンテナ内の 443 ポートをホストの対応するポートに接続し、コンテナの名前は nginx-ssl です。
6. テスト検証
これで、サーバーの IP アドレスまたはドメイン名を入力して Nginx プロキシにアクセスできるようになります。
ブラウザに http://example.com
と入力すると、Nginx プロキシが正常に構成されていることがわかります。
同時に、https://example.com
経由でアクセスを試みることもできます。ブラウザに安全な接続が表示された場合は、SSL 暗号化が有効になっていることを意味します。
概要
Docker で SSL 暗号化保護のために Nginx プロキシを構成するのは難しくありません。 SSL 証明書の生成、Docker イメージの作成、Nginx エージェントの構成、Docker コンテナーの実行により、Nginx に SSL 暗号化を簡単に追加してデータ セキュリティを向上させることができます。
以上がSSL 暗号化保護のために Docker で Nginx プロキシを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。