4

https://github.com/silvio/docker-matrixに基づいたコンテナー (「マトリックス」) があります(これはおそらく重要ではありません)。

ポート 8448 および 3478 (80 または 443 ではない) でサービスを実行します。

traefik を実行せずに、'matrix' コンテナー内で 'matrix' コンテナーのみを実行すると、LetsEncrypt の certbot を実行できます。このリクエストは、LetsEncrypt にポート 443 で私に連絡して ssl 証明書を提供するように指示します。

certbot certonly --standalone --test-cert --email admin@amazing.site --agree-tos -d m.amazing.site

チャレンジが行われ、チャレンジが受け入れられ、証明書がコンテナー内のディレクトリ /etc/letsencrypt に保存されます。

さて、Traefik を実行するときにこれを行いたいと思います。

次のように、このコンテナーの Traefik のパラメーターを docker-compose ファイルに渡します。

labels:
  - "traefik.acme=false"
  - "traefik.enable=true"
  - "traefik.backend=matrix"
  - "traefik.frontend.rule=Host:m.amazing.site"
  - "traefik.port=443"
restart: always
expose:
 - 443
ports:
  - "8448:8448"
  - "3478:3478"

コンテナでチャレンジを実行すると(上記と同じコマンド)

certbot certonly --standalone --test-cert --email admin@amazing.site --agree-tos -d m.amazing.site

Traefik ログに次のように表示されます

time="2017-07-14T01:04:35Z" level=error msg="証明書の取得エラー: ドメイン b374a9118f855cacdb0096846a3dfa0c.f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid のチャレンジ証明書が見つかりません。453.949201ms で再試行します" time="7-49201ms" :04:35Z" level=error msg="エラー取得証明書: ドメイン b374a9118f855cacdb0096846a3dfa0c.f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid のチャレンジ証明書が見つかりません。 msg="証明書取得エラー: ドメイン b374a9118f855cacdb0096846a3dfa0c.f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid のチャレンジ証明書が見つかりません。1.138006833s で再試行しています"ドメイン b374a9118f855cacdb0096846a3dfa0c のチャレンジ証明書を見つけます。f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid, retrying in 2.436785791s" time="2017-07-14T01:04:40Z" level=error msg="Error getting cert: Cannot find challenge cert for domain b374a9118f855cacdb0096846a3dfa0c.f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid, retrying in 3.055167113s" time="2017-07-14T01:04:43Z" level=error msg="証明書の取得エラー: ドメイン b374a9118f855cacdb0096846a3dfa0c.f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid4、7.406s で再試行しています" 07-14T01:04:48Z" level=error msg="エラー取得証明書: ドメイン b374a9118f855cacdb0096846a3dfa0c.f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid のチャレンジ証明書が見つかりません。 level=error msg="証明書取得エラー:Cannot find challenge cert for domain b374a9118f855cacdb0096846a3dfa0c.f7c92b61d040f9ba250f14cc533ba4b8.acme.invalid, retrying in 6.313970727s" time="2017-07-14T01:05:01Z" level=error msg="Error getting cert: Cannot find challenge cert for domain 8b1e27af665c4676b47236f25c3ccc73. 1313b1cc8ceaaa7467ba2e5845c08fde.acme.invalid" time="2017-07-14T01:05:01Z" level=debug msg="ACME got nothing 8b1e27af665c4676b47236f25c3ccc73.1313b1cc8ceaaa7467ba2e5845c08fde.acme.invalid" 2017/07/14 01:05:01 server.go: 2753: http: 66.133.109.36:55264 からの TLS ハンドシェイク エラー: EOFCannot find challenge cert for domain 8b1e27af665c4676b47236f25c3ccc73.1313b1cc8ceaaa7467ba2e5845c08fde.acme.invalid" time="2017-07-14T01:05:01Z" level=debug msg="ACME got nothing 8b1e27af665c4676b47236f25c3ccc73.1313b1cc8ceaaa7467ba2e5845c08fde.acme.invalid" 2017/07/14 01 :05:01 server.go:2753: http: 66.133.109.36:55264 からの TLS ハンドシェイク エラー: EOFCannot find challenge cert for domain 8b1e27af665c4676b47236f25c3ccc73.1313b1cc8ceaaa7467ba2e5845c08fde.acme.invalid" time="2017-07-14T01:05:01Z" level=debug msg="ACME got nothing 8b1e27af665c4676b47236f25c3ccc73.1313b1cc8ceaaa7467ba2e5845c08fde.acme.invalid" 2017/07/14 01 :05:01 server.go:2753: http: 66.133.109.36:55264 からの TLS ハンドシェイク エラー: EOF

これらは実際のログであることに注意してください。確認しようとしている実際のドメイン名については言及されていません。

私は何を間違っていますか?

4

1 に答える 1

2

acme はすべてのルールの前に実行されるルートをインストールするため、すぐに特定のホストに対して acme を無効にすることはできません。

これを解決する方法を見つけました:

https://gist.github.com/micw/67faf5cd3d4a6f64568ca2bb9a051230

よろしく、マイケル。

于 2019-01-12T15:24:42.400 に答える