ホームページ >バックエンド開発 >PHPチュートリアル >Web サービスを暗号化するために Docker コンテナを使用して Nginx プロキシ サーバーを構成するにはどうすればよいですか?

Web サービスを暗号化するために Docker コンテナを使用して Nginx プロキシ サーバーを構成するにはどうすればよいですか?

WBOY
WBOYオリジナル
2023-09-06 08:48:311594ブラウズ

Web サービスを暗号化するために Docker コンテナを使用して Nginx プロキシ サーバーを構成するにはどうすればよいですか?

Docker コンテナを使用して Web サービスを暗号化するように Nginx プロキシ サーバーを構成する方法

今日のインターネットの世界では、Web サービスのセキュリティを保護することがますます重要になっています。機密データを送信中の盗難や改ざんから保護するために、HTTPS プロトコルを使用して Web サービスを暗号化することが標準的になっています。この記事では、Docker コンテナを使用して Nginx プロキシ サーバーを構成し、Web サービスの暗号化を実装する方法を紹介します。

Docker は、開発者がアプリケーションの展開と管理のプロセスを簡素化するのに役立つオープンソースのコンテナ化プラットフォームです。 Nginx は、数百または数千の同時接続を処理できる高性能 Web サーバーおよびリバース プロキシ サーバーです。 Docker と Nginx を組み合わせると、安全で効率的な Web プロキシ サーバーを簡単に構成できます。

ステップ 1: Docker をインストールする

まず、Docker をインストールする必要があります。 Docker の公式 Web サイトで、オペレーティング システムに適したインストール方法を見つけることができます。インストールが完了したら、次のコマンドを実行して、Docker が正しくインストールされていることを確認します。

$ docker --version

ステップ 2: Docker コンテナーを作成する

次に、Nginx を実行するための Docker コンテナーを作成します。サーバ。コマンド ラインで次のコマンドを実行します。

$ docker run --name nginx-proxy -p 80:80 -p 443:443 -d nginx

上記のコマンドでは、docker run コマンドを使用して、nginx-proxy という名前のコンテナを作成し、Port を設定しました。ホストの 80 はコンテナのポート 80 にマッピングされ、ポート 443 はコンテナのポート 443 にマッピングされます。コンテナの基本イメージを Nginx として指定し、-d パラメータを使用してコンテナをバックグラウンドで実行しました。

ステップ 3: Nginx プロキシ サーバーを構成する

コンテナ内で Nginx サーバーを実行した後、HTTP リクエストを実際の Web サービスに転送するようにプロキシ サーバーを構成する必要があります。 Nginx 構成ファイル nginx.conf を変更することで、この構成を完了できます。

まず、Nginx コンテナーの ID または名前を見つけます。次のコマンドを使用して、実行中の Docker コンテナを一覧表示できます。

$ docker ps

出力で nginx-proxy コンテナの ID または名前を見つけます。

次に、次のコマンドを使用してコンテナのシェル環境に入ります:

$ docker exec -it <nginx-proxy-container-id> /bin/bash

<nginx-proxy-container-id></nginx-proxy-container-id> を実際のコンテナ ID または名前に置き換えます。

コンテナのシェル環境に入ったら、Nginx 構成ファイルの場所を見つけます。

$ cd /etc/nginx/conf.d

テキスト エディター (Vi や Nano など) を使用して、default を開きます。 conf ファイル:

$ vi default.conf

HTTP リクエストを実際の Web サービスに転送するために、ファイルに次の構成を追加します。実際の Web サービスがローカルのポート 8000 で実行されていると仮定します。

server {
  listen 80;
  server_name example.com;

  location / {
    proxy_pass http://localhost:8000;
  }
}

ファイルを保存して終了します。

ステップ 4: HTTPS 暗号化を構成する

Web サービスの暗号化を実装するには、HTTPS をサポートするように Nginx を構成する必要があります。まず、SSL 証明書と秘密キー ファイルを生成する必要があります。無料の認証局 (Let's Encrypt など) または自己署名証明書を使用して生成できます。

証明書と秘密キーのファイルをコンテナ内の /etc/nginx/ssl ディレクトリに保存します。次に、default.conf ファイルを変更して HTTPS を有効にします。次の構成をファイルに追加します。

server {
  listen 443 ssl;
  server_name example.com;

  ssl_certificate /etc/nginx/ssl/certificate.crt;
  ssl_certificate_key /etc/nginx/ssl/private.key;

  location / {
    proxy_pass http://localhost:8000;
  }
}

ファイルを保存して終了します。

ステップ 5: Nginx サーバーを再起動する

上記の構成を完了したら、構成を有効にするために Nginx サーバーを再起動する必要があります。コンテナーのシェル環境で次のコマンドを実行します。

$ service nginx restart

これで、https://example.com にアクセスすると、Web サービスが安全な方法で実行されていることが確認できるはずです。

概要

Docker コンテナと Nginx プロキシ サーバーを通じて、Web サービスの暗号化を簡単に実装できます。この記事では、Docker のインストール、Nginx コンテナーの作成、プロキシ サーバーの構成、HTTPS 暗号化の有効化の方法について説明しました。この記事が Web サービスを保護する方法の理解に役立つことを願っています。

参考リンク:

  • Docker公式サイト:https://www.docker.com/
  • Nginx公式サイト:https://nginx.org/
  • Let's Encrypt 公式 Web サイト: https://letsencrypt.org/

以上がWeb サービスを暗号化するために Docker コンテナを使用して Nginx プロキシ サーバーを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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