ホームページ > バックエンド開発 > PHPチュートリアル > Dockerコンテナを使用してNginxプロキシサーバーを構成し、SSLを有効にする方法は?

Dockerコンテナを使用してNginxプロキシサーバーを構成し、SSLを有効にする方法は?

PHPz
リリース: 2023-09-05 17:40:02
オリジナル
1127 人が閲覧しました

Dockerコンテナを使用してNginxプロキシサーバーを構成し、SSLを有効にする方法は?

Docker コンテナを使用して Nginx プロキシ サーバーを構成し、SSL を有効にする方法は?

今日のネットワーク環境において、セキュリティは無視できない問題となっています。データの安全な送信を保護するには、SSL 証明書を有効にすることが必要な手順になります。 Docker コンテナを使用して Nginx プロキシ サーバーを構成することがトレンドになっています。この記事では、Docker コンテナを使用して Nginx プロキシ サーバーを構成し、SSL を有効にする方法を説明します。

ステップ 1: Docker をインストールする
まず、Docker をインストールする必要があります。オペレーティング システムに応じて、Docker の公式インストール ガイドを参照してインストールできます。

ステップ 2: Nginx 構成ファイルを作成する
Nginx プロキシ サーバーを構成する前に、プロキシ ルールを定義するための構成ファイルを作成する必要があります。 nginx.conf という名前のファイルを作成し、次の内容をそこに貼り付けます:

worker_processes auto;

events {
  worker_connections 1024;
}

http {
  server {
    listen 80;
    server_name example.com;
    
    location / {
      proxy_pass http://backend;
      proxy_set_header Host $host;
    }
  }
}
ログイン後にコピー

上記の構成ファイルは、Nginx プロキシ サーバーがポート 80 をリッスンし、すべてのリクエストをバックエンド サーバーにプロキシすることを指定します。 バックエンドという名前。

ステップ 3: Docker イメージを作成する
次に、Nginx プロキシ サーバーを実行するための Docker イメージを作成する必要があります。コマンド ラインで、次のコマンドを実行します。

docker build -t nginx-proxy .
ログイン後にコピー

このコマンドは、現在のディレクトリにある Dockerfile ファイルを読み取り、その中の指示に従って ## という名前の Docker イメージを自動的に構築します。 #nginx-プロキシ

ステップ 4: Docker コンテナを実行する

Docker Hub には、
jwilder/nginx-proxy という名前の公式 Nginx プロキシ サーバー イメージがあります。このイメージを使用して、Nginx プロキシ サーバー コンテナーを実行できます。

コマンド ラインで、次のコマンドを実行します。

docker run -d -p 80:80 -p 443:443 -v /var/run/docker.sock:/tmp/docker.sock:ro --name nginx-proxy nginx-proxy
ログイン後にコピー

このコマンドは、

nginx-proxy という名前の Docker コンテナを作成し、ホストの 80 ポートをコンテナのポートにマップします。 80 とポート 443 はコンテナーのポート 443 にマッピングされます。 -v /var/run/docker.sock:/tmp/docker.sock:roこのオプションは、Docker コンテナがホスト上の Docker ソケット ファイルを読み取れるようにします。

ステップ 5: SSL 証明書の構成

SSL を有効にするには、プロキシ サーバーの SSL 証明書を構成する必要があります。 Let's Encrypt が提供する無料の SSL 証明書を使用できます。

コマンド ラインで、次のコマンドを実行します。

docker run -d -p 80:80 -p 443:443 --name nginx-proxy nginx-proxy
ログイン後にコピー

このコマンドは、

nginx-proxy という名前の Docker コンテナを再作成し、ホストの 80 ポートをポートにマッピングします。コンテナのポート 80 の場合、ポート 443 はコンテナのポート 443 にマッピングされます。

次に、次のコマンドを実行して SSL 証明書を生成します。

docker exec nginx-proxy /app/certbot-setup.sh
ログイン後にコピー

スクリプトにより、certbot クライアントが自動的にインストールされ、Let's Encrypt サーバーに SSL 証明書の生成が要求されます。

ステップ 6: プロキシ ルールを構成する

最後に、プロキシ ルールを構成する必要があります。 Docker の環境変数を使用してプロキシ ルールを定義できます。

コマンド ラインで、次のコマンドを実行します。

docker run -d -p 80:80 -p 443:443 -e "VIRTUAL_HOST=example.com" -e "LETSENCRYPT_HOST=example.com" --name backend your-backend
ログイン後にコピー
このコマンドは、

backend という名前の Docker コンテナを作成し、ホストの 80 ポートをコンテナのポート 80 にマップします。ポート 443 はコンテナのポート 443 にマッピングされます。 -e "VIRTUAL_HOST=example.com" -e "LETSENCRYPT_HOST=example.com"これら 2 つのオプションはプロキシ ルールを構成します。

上記の手順を完了すると、Nginx プロキシ サーバーは SSL 経由で安全なプロキシを実行できるようになります。ニーズに合わせて、さらにプロキシ ルールをカスタマイズし、コンテナを追加できます。

この記事がお役に立てば幸いです。ご質問がございましたら、お気軽に以下にコメントを残していただければお答えさせていただきます。読んでくれてありがとう!

以上がDockerコンテナを使用してNginxプロキシサーバーを構成し、SSLを有効にする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート