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

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

Sep 05, 2023 am 08:42 AM
docker nginx ssl

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? Mar 05, 2025 pm 05:57 PM

ピン張りのノードの詳細な説明とインストールガイドこの記事では、ピネットワークのエコシステムを詳細に紹介します - PIノードは、ピン系生態系における重要な役割であり、設置と構成の完全な手順を提供します。 Pinetworkブロックチェーンテストネットワークの発売後、PIノードは多くの先駆者の重要な部分になり、テストに積極的に参加し、今後のメインネットワークリリースの準備をしています。まだピン張りのものがわからない場合は、ピコインとは何かを参照してください。リストの価格はいくらですか? PIの使用、マイニング、セキュリティ分析。パインワークとは何ですか?ピン競技プロジェクトは2019年に開始され、独占的な暗号通貨PIコインを所有しています。このプロジェクトは、誰もが参加できるものを作成することを目指しています

DeepSeekをインストールする方法 DeepSeekをインストールする方法 Feb 19, 2025 pm 05:48 PM

DeepSeekをインストールするには、Dockerコンテナ(最も便利な場合は、互換性について心配する必要はありません)を使用して、事前コンパイルパッケージ(Windowsユーザー向け)を使用してソースからコンパイル(経験豊富な開発者向け)を含む多くの方法があります。公式文書は慎重に文書化され、不必要なトラブルを避けるために完全に準備します。

Dockerコンテナを使用したJavaEEアプリケーションのデプロイ Dockerコンテナを使用したJavaEEアプリケーションのデプロイ Jun 05, 2024 pm 08:29 PM

Docker コンテナを使用した Java EE アプリケーションのデプロイ: Dockerfile を作成してイメージを定義し、イメージを構築し、コンテナを実行してポートをマップし、ブラウザでアプリケーションにアクセスします。サンプル JavaEE アプリケーション: REST API はデータベースと対話し、Docker 経由でデプロイ後にローカルホストでアクセスできます。

WordPressサイトファイルアクセスは制限されています:なぜ私の.txtファイルがドメイン名からアクセスできないのですか? WordPressサイトファイルアクセスは制限されています:なぜ私の.txtファイルがドメイン名からアクセスできないのですか? Apr 01, 2025 pm 03:00 PM

WordPressサイトファイルアクセスが制限されています:最近.txtファイルにアクセスできない理由のトラブルシューティング。一部のユーザーは、ミニプログラムのビジネスドメイン名を構成する際に問題に遭遇しました:�...

Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Apr 01, 2025 pm 03:06 PM

エラーの原因とソリューションPECLを使用してDocker環境に拡張機能をインストールする場合、Docker環境を使用するときに、いくつかの頭痛に遭遇します...

同じサーバー上のnginx構成を介してphp5.6とphp7を共存する方法は? 同じサーバー上のnginx構成を介してphp5.6とphp7を共存する方法は? Apr 01, 2025 pm 03:15 PM

同じシステムで複数のPHPバージョンを同時に実行することは、特に異なるプロジェクトがPHPの異なるバージョンに依存する場合、一般的な要件です。同じようになる方法...

H5プロジェクトの実行方法 H5プロジェクトの実行方法 Apr 06, 2025 pm 12:21 PM

H5プロジェクトを実行するには、次の手順が必要です。Webサーバー、node.js、開発ツールなどの必要なツールのインストール。開発環境の構築、プロジェクトフォルダーの作成、プロジェクトの初期化、コードの書き込み。開発サーバーを起動し、コマンドラインを使用してコマンドを実行します。ブラウザでプロジェクトをプレビューし、開発サーバーURLを入力します。プロジェクトの公開、コードの最適化、プロジェクトの展開、Webサーバーの構成のセットアップ。

ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? Apr 01, 2025 pm 02:48 PM

多くのウェブサイト開発者は、ランプアーキテクチャの下でnode.jsまたはPythonサービスを統合する問題に直面しています:既存のランプ(Linux Apache MySQL PHP)アーキテクチャWebサイトのニーズ...

See all articles