ホームページ  >  記事  >  バックエンド開発  >  Web サービスへの HTTPS アクセスをサポートするように Docker コンテナーで Nginx プロキシ サーバーを構成するにはどうすればよいですか?

Web サービスへの HTTPS アクセスをサポートするように Docker コンテナーで Nginx プロキシ サーバーを構成するにはどうすればよいですか?

王林
王林オリジナル
2023-09-05 13:19:58997ブラウズ

Web サービスへの HTTPS アクセスをサポートするように Docker コンテナーで Nginx プロキシ サーバーを構成するにはどうすればよいですか?

Web サービスへの HTTPS アクセスをサポートするために、Docker コンテナーで Nginx プロキシ サーバーを構成するにはどうすればよいですか?

インターネットの急速な発展に伴い、データ送信のセキュリティ問題がますます注目を集めています。 Web サービスのデータ送信のセキュリティを保護するために、多くの Web サイトは暗号化された送信に HTTPS プロトコルを使用し始めています。開発およびデプロイメントのプロセスでは、Docker コンテナを使用して Web サービスを構築および管理することが一般的な方法になりました。この記事では、Web サービスへの HTTPS アクセスをサポートするために Docker コンテナーで Nginx プロキシ サーバーを構成する方法を紹介します。

ステップ 1: SSL 証明書を生成する
まず、暗号化された送信の整合性とセキュリティを確保するために SSL 証明書を生成する必要があります。自己署名証明書はテストと開発の目的で使用できます。生成したい証明書ファイルがそれぞれ server.crtserver.key であると仮定します。

ステップ 2: Dockerfile の作成
開始する前に、Nginx プロキシ サーバー コンテナを構築するための Dockerfile を作成します。

FROM nginx:latest

# 复制SSL证书
COPY server.crt /etc/nginx/conf.d/server.crt
COPY server.key /etc/nginx/conf.d/server.key

# 复制Nginx配置文件
COPY nginx.conf /etc/nginx/conf.d/default.conf

# 暴露HTTPS端口
EXPOSE 443

Dockerfile では、公式の Nginx イメージからカスタム イメージを構築します。次に、SSL 証明書ファイルを /etc/nginx/conf.d/ ディレクトリにコピーし、Nginx 構成ファイルを /etc/nginx/conf.d/ にコピーします。ディレクトリダウン。最後に、EXPOSE コマンドを通じて公開するポートを宣言します。ここではポート 443 (HTTPS のデフォルト ポート) を示します。

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

server {
    listen 443;
    server_name yourdomain.com;

    ssl on;
    ssl_certificate /etc/nginx/conf.d/server.crt;
    ssl_certificate_key /etc/nginx/conf.d/server.key;

    location / {
        proxy_pass http://web-service-container:80;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

上記のコードでは、ポート 443 でリッスンするサーバー ブロックを定義しました。 server_name ディレクティブはドメイン名と一致する必要があることに注意してください。 ssl on コマンドを使用して SSL サポートを有効にし、SSL 証明書へのパスを指定します。

次に、location / ディレクティブで、受信リクエストを web-service-container という名前のコンテナ内のポート 80 に転送します。この名前は、プロキシするコンテナー名または IP アドレスに置き換えることができます。

ステップ 4: Docker コンテナを構築して実行する
これで、次のコマンドを使用して Docker コンテナを構築して実行できるようになります:

docker build -t nginx-proxy .
docker run -d -p 443:443 --name nginx-proxy-container nginx-proxy

上記のコマンドは、 という名前のコンテナを構築します。 nginx-proxy の Docker イメージを作成し、そのイメージを nginx-proxy-container という名前のコンテナーとして実行します。コンテナのポート 443 をホストのポート 443 にマッピングします。

これまでのところ、Web サービスへの HTTPS アクセスをサポートするために、Docker コンテナ内の Nginx プロキシ サーバーを正常に構成できました。これで、https://yourdomain.com にアクセスして Web サービスにアクセスできるようになりました。

概要
この記事では、Web サービスへの HTTPS アクセスをサポートするために、Docker コンテナーで Nginx プロキシ サーバーを構成する方法について説明します。 SSL 証明書と Nginx 構成ファイルを使用することで、Web サービスのデータ送信セキュリティを保護できます。この Docker ベースのアプローチは、開発とデプロイのプロセスを容易にするだけでなく、強力なコードの分離とスケーラビリティも提供します。この記事があなたのお役に立てば幸いです、読んでいただきありがとうございます!

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

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