Traefik SSL 自己署名証明書

みなさん、こんにちは。私はこのフォーラムに新しく参加しました。最近、Docker コンテナと Traefik を使い始めましたが、素晴らしいツールだと感じています。現在、Docker コンテナの 1 つにカスタム自己署名 SSL を使用させようとしています。インターネット上で見つけたいくつかの手順に従って設定しましたが、他の部分は問題なく動作しているにもかかわらず、コンテナが希望するカスタム証明書ではなく、Traefik のデフォルト証明書を使い続けています。この問題を解決する方法について、どなたかお手伝いいただけますでしょうか?正直なところ、Docker コンテナがどのように SSL 証明書を選択し、使用するかについてはっきりと理解できておらず、読んだドキュメントもそれを明確に説明していないようです。ここまでに私が行った設定を以下に示します。

Traefik の Docker Compose yml ファイル

version: '3'
services:
  traefik:
    image: "traefik:v2.2"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ~/docker-data/traefik/traefik.yml:/etc/traefik/traefik.yaml:ro
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.api.rule=Host(`traefik.com`)"
      - "traefik.http.routers.api.entrypoints=insecure"
      - "traefik.http.routers.api.service=api@internal"
      - "traefik.http.routers.api.middlewares=api-auth"
      - "traefik.http.middlewares.api-auth.basicauth.users=admin:..."
    container_name: traefik
networks:
  default:
    external:
      name: "web"

Traefik の yml ファイル

providers: # 必要に応じて複数のプロバイダーを追加できます
  docker:
    endpoint: "unix:///var/run/docker.sock"
    network: "web" # カスタム Docker ネットワーク
    exposedByDefault: false # 明示的に有効化されたコンテナのみ公開

  file:
    filename: ~/docker-data/traefik/dynamic_conf.yml
    watch: true

entryPoints:
  insecure:
    address: ":80"
  secure:
    address: ":443"

api:
  dashboard: true

動的設定ファイル

# 動的設定
tls:
  certificates:
    - certFile: "~/ssl/bwtest-cert.pem"
      keyFile: "~/ssl/bwtest-key.pem"

Docker コンテナの設定

```
---
version: '3'
services:
  bwtest:
    image: bitwardenrs/server
    restart: always
    container_name: bwtest
    volumes:
      - bw-test-data:/data
#      - bw-test-ssl:/ssl
    environment:
      LOG_FILE: '/data/bw.log'
      SHOW_PASSWORD_HINT: 'true'
    labels:

      - traefik.enable=true
      - traefik.docker.network=web
      - traefik.http.middlewares.redirect-https.redirectScheme.scheme=https
      - traefik.http.middlewares.redirect-https.redirectScheme.permanent=true
      - traefik.http.routers.bitwarden-ui-https.rule=Host(`bwtest.com`)
      - traefik.http.routers.bitwarden-ui-https.entrypoints=secure
      - traefik.http.routers.bitwarden-ui-https.tls=true
      - traefik.http.routers.bitwarden-ui-https.service=bwtest
      - traefik.http.routers.bitwarden-ui-http.rule=Host(`bwtest.com`)
      - traefik.http.routers.bitwarden-ui-http.entrypoints=insecure
      - traefik.http.routers.bitwarden-ui-http.middlewares=redirect-https
      - traefik.http.routers.bitwarden-ui-http.service=bwtest
      - traefik.http.services.bwtest.loadbalancer.server.port=80
      - traefik.http.routers.mydomain.tls.domains[0].main=bwtest.com
      - traefik.http.routers.mydomain.tls.domains[0].sans=www.bwtest.com
    networks:
      - web
networks:
  web:
    external: true
volumes:
  bw-test-data:
  bw-test-ssl:

すべて解決しました。Traefik の docker-compose ファイルでのボリュームマッピングが誤っていたことが原因でした。