ホームページ >バックエンド開発 >PHPチュートリアル >SSL 暗号化保護のために Docker で Nginx プロキシを構成するにはどうすればよいですか?

SSL 暗号化保護のために Docker で Nginx プロキシを構成するにはどうすればよいですか?

PHPz
PHPzオリジナル
2023-09-05 08:42:37979ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。