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 サービスを保護する方法の理解に役立つことを願っています。
参考リンク:
以上がWeb サービスを暗号化するために Docker コンテナを使用して Nginx プロキシ サーバーを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。