Docker で Nginx プロキシ サーバーを使用して Web サービスのセキュリティを保護するにはどうすればよいですか?
インターネットの急速な発展に伴い、Web アプリケーションの展開の重要性がますます高まっており、アプリケーションのセキュリティも考慮する必要があります。 Nginx は、Web サービスのセキュリティを保護する強力な機能を提供する高性能 Web サーバーおよびリバース プロキシ サーバーです。 Docker は、コンテナーのデプロイメントで広く使用されているオープン ソース プロジェクトであり、この 2 つを組み合わせることで、Web アプリケーションのセキュリティをより適切に保護できます。
この記事では、Docker で Nginx プロキシ サーバーを使用して Web サービスのセキュリティを保護する方法をコード例とともに紹介します。
ステップ 1: Docker と Docker Compose をインストールする
始める前に、まず Docker と Docker Compose をインストールする必要があります。 Linux システムでは、次のコマンドを使用して Docker をインストールできます:
sudo apt-get update sudo apt-get install docker.io
その後、Docker Compose をインストールします:
sudo apt-get install docker-compose
ステップ 2: Docker コンテナーを作成する
Nginx プロキシ サーバーを使用する前に、Web サービスを実行するための Docker コンテナを最初に作成する必要があります。以下は、簡単な Node.js アプリケーションの例です。
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello, World!'); }); app.listen(3000, () => { console.log('Server is running on port 3000'); });
上記のコードを app.js
として保存します。
次に、Docker イメージを構築するための Dockerfile
という名前のファイルを作成します:
FROM node:12 WORKDIR /app COPY package.json . RUN npm install COPY . . EXPOSE 3000 CMD ["node", "app.js"]
同じディレクトリで次のコマンドを実行して、Docker イメージを構築します:
docker build -t webapp .
次に、docker-compose.yml
という名前のファイルを作成して、Docker コンテナーと Nginx プロキシ サーバーの構成を定義します。
version: '3' services: web: build: context: . dockerfile: Dockerfile ports: - 3000 networks: - proxy proxy: image: nginx volumes: - ./nginx.conf:/etc/nginx/nginx.conf ports: - 80:80 networks: - proxy networks: proxy:
同じディレクトリで次のコマンドを実行します。 Docker を起動します。コンテナと Nginx プロキシ サーバー:
docker-compose up -d
ステップ 3: Nginx プロキシ サーバーを構成する
次に、Docker コンテナで実行されている Web サービスにすべてのリクエストを転送するように Nginx プロキシ サーバーを構成する必要があります。 nginx.conf
という名前のファイルを作成して、Nginx プロキシ サーバーを構成します:
worker_processes 1; events { worker_connections 1024; } http { upstream webapp { server web:3000; } server { listen 80; location / { proxy_pass http://webapp; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } }
ファイルを保存し、Docker コンテナと Nginx プロキシ サーバーを再起動します:
docker-compose restart
ステップ 4:構成が有効かどうかをテストします。
これで、http://localhost
にアクセスして、Nginx プロキシ サーバーが正常に構成されたかどうかをテストできます。すべてが正常であれば、Hello, World!
という応答が表示されるはずです。
上記の手順により、Docker で Nginx プロキシ サーバーを使用して Web サービスのセキュリティを保護することに成功しました。 Nginx は、すべてのリクエストをリバース プロキシ経由で Docker コンテナ内で実行されている Web サービスに転送し、Web アプリケーションのセキュリティを保護する強力な機能を提供します。
概要:
この記事が、Docker で Nginx プロキシ サーバーを使用して Web サービスのセキュリティを保護する方法を理解するのに役立つことを願っています。
以上がDocker で Nginx プロキシ サーバーを使用して Web サービスを保護するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。