ホームページ  >  記事  >  運用・保守  >  Docker下のサービスにSSLを追加する方法

Docker下のサービスにSSLを追加する方法

PHPz
PHPzオリジナル
2023-04-04 09:27:352552ブラウズ

Docker でサービスをデプロイすることはますます一般的になってきています。さらに、データのセキュリティを保護するために、多くのサービスでは SSL の使用が必要です。この記事では、Docker 下のサービスに SSL を追加する方法を紹介します。

  1. 準備作業

まず、次のような必要なツールを準備する必要があります。

  • Docker: サービスのデプロイに使用します
  • Docker Compose: Docker コンテナのデプロイメントを簡素化します
  • Certbot: SSL 証明書の発行に使用されます

Docker と Docker Compose がインストールされていることを確認してください。まだインストールされていない場合は、まずインストールしてください。これら 2 つのツールをインストールします。

  1. SSL 証明書の取得

Certbot を使用して SSL 証明書を取得できます。 Certbot は、ほとんどのオペレーティング システムと Web サーバーをサポートする無料のオープンソース SSL 証明書発行ツールです。

まず、次のコマンドを使用して Certbot をインストールする必要があります:

sudo apt-get update
sudo apt-get install certbot

次に、次のコマンドを使用して SSL 証明書を取得する必要があります:

sudo certbot certonly --standalone -d example.com

ここに例を示します。 com はドメイン名です。このコマンドを実行すると、Certbot は Web サーバーを起動し、ドメイン名を確認します。検証が成功すると、Certbot は SSL 証明書を発行し、/etc/letsencrypt/live/example.com ディレクトリに保存します。

  1. SSL 証明書の使用

次に、SSL 証明書を Docker サービスに適用する必要があります。ここではサンプルサービス (Nginx) を使用します。同様の方法で SSL 証明書を Docker サービスに適用できます。

まず、次の環境変数を Docker Compose ファイルに追加する必要があります。

services:
  nginx:
    image: nginx
    environment:
      - VIRTUAL_HOST=example.com
      - VIRTUAL_PORT=80
      - LETSENCRYPT_HOST=example.com
      - LETSENCRYPT_EMAIL=your_email@example.com

その中で、VIRTUAL_HOST と VIRTUAL_PORT は、サービスで使用するホスト名とポートを定義します。 LETSENCRYPT_HOST と LETSENCRYPT_EMAIL は、それぞれ当社のドメイン名と電子メール アドレスです。

次に、Docker Compose ファイルに次のボリュームを追加する必要があります。

services:
  nginx:
    image: nginx
    volumes:
      - /etc/letsencrypt:/etc/letsencrypt:ro
    ...

これにより、Docker コンテナ内で SSL 証明書を使用できるようになります。

最後に、次の内容を Nginx 構成ファイルに追加する必要があります:

server {
  listen 80;
  server_name example.com;
  return 301 https://$server_name$request_uri;
}

server {
  listen 443 ssl;

  server_name example.com;

  ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

  location / {
    ...
  }
}

ここでは、ポート 80 をポート 443 にリダイレクトし、SSL 証明書のパスを構成します。証明書のパスを独自のものに置き換える必要があります。

  1. サービスの実行

これで、Docker サービスを開始する準備が整いました。コマンド ラインから次のコマンドを実行します。

docker-compose up -d

これにより、Docker サービスが開始され、SSL 証明書がサービスに自動的にバインドされます。

つまり、Docker サービスに SSL を追加することは、サービスの安全性を高めるための重要なタスクです。この記事で説明されている手順に従う限り、サービスの安全性を高めることができます。

以上がDocker下のサービスにSSLを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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