Let's Encrypt X3 の悪夢

本日、mail-receiver アプリを使用すると以下のエラーが発生します。以前は正常に動作していました。

API を介して Discourse にメールを送信しようとしています。DST Root CA X3 証明書の有効期限切れが原因でしょうか?

もしそうなら、解決策をご存知の方はいらっしゃいますか?アプリと mail-receiver の両方を再構築したり、Let’s Encrypt 証明書を再作成したりしましたが、効果はありませんでした。

<19>Sep 30 22:07:26 receive-mail[96]: Failed to POST the e-mail to https://forum.validadortiss.com.br/admin/email/handle_mail: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)

「いいね!」 2

ご報告ありがとうございます @wlandgraf。できるだけ早く新しいメール受信イメージを Dockerhub にプッシュします。

「いいね!」 4

Dockerhub の release タグが更新されました。公式セットアップ手順に従った場合、以下のコマンドを実行して新しいイメージをプルできます。

cd /var/discourse
./launcher rebuild mail-receiver
「いいね!」 5

@david さん、迅速なご対応をいただきありがとうございます。ただし、問題は解決しておりません。依然として続いております。

「いいね!」 1

/var/discourse/containers/mail-receiver.ymlbase_image: 行には何と記述されていますか?以下のようになっているはずです:

base_image: discourse/mail-receiver:release

(詳細は こちら をご覧ください)

「いいね!」 1

はい、それが私の持っています。

「いいね!」 1

これは私のファイルの先頭です:

## これは受信メール受信コンテナのテンプレートです
##
## このファイルを変更した後、必ず再構築してください
## /var/discourse/launcher rebuild mail-receiver
##
## 編集する際は *非常に* 注意してください!
## YAML ファイルは、空白やアライメントの誤りに非常に非常に敏感です!
## 必要に応じて、http://www.yamllint.com/ を訪れてこのファイルを検証してください

base_image: discourse/mail-receiver:release
update_pups: false

expose:
  - "25:25"   # SMTP

そして、再構築操作の(部分的な)出力です(API キーを含む部分は省略しました):

ランチャーが最新であることを確認中
origin を取得中
ランチャーは最新です
古いコンテナを停止中
+ /usr/bin/docker stop -t 60 mail-receiver
mail-receiver
cd /pups && /pups/bin/pups --stdin
sha256:5f123a8eb11784828d5195ee0f328a0ea5a5d2ce36eeae1760e3d47b0dbeb15c
165ebaa91836a07696924f95d3746cbd1cc14412f478ba715ee40f502780ab7a
古いコンテナを削除中
+ /usr/bin/docker rm mail-receiver
mail-receiver
「いいね!」 2

お試しください

docker pull discourse/mail-receiver:release
cd /var/discourse
./launcher rebuild mail-receiver
「いいね!」 6

できました!本当にありがとうございます。もしよろしければ、いくつか質問があります:

  1. なぜそれが必要だったのでしょうか?ビルドする前に常に最新のイメージを手動でプルするべきでしょうか?
  2. アプリを再ビルドする際も、同じ手順(docker pull)を適用する必要がありますか?
  3. 再ビルド後に送信されたメールは届きましたが、以前送信されたメールは届いていません。それらのメールは失われたのでしょうか?
「いいね!」 2

Docker のインストールが :release タグをキャッシュしていたようです。今後の docker pull を不要にするため、launcher スクリプトに何らかのロジックを追加できるかもしれません。

app イメージは別様に処理されるため、そこではキャッシュの問題は発生しません。

停止中に送信されたメールは、「一時的な失敗」で送信元サーバーに返却されたはずです。これらのサーバーは定期的にメールを再試行するはずですので、欠落していたメールが数時間以内に到着することをお待ちください。

「いいね!」 4

素晴らしいです。迅速な対応を改めてありがとうございます。世界は現在、この Root CA X3 の混乱に苦しんでいます。あなたが今、世界を少しだけ良くするための貢献をしてくれました。:smiley:

「いいね!」 3

メール受信者の更新が必要かどうか、また docker pull が不要かどうかを検出する方法について、何か手がかりはありますか?

「いいね!」 3

本日以前にインストールされたすべてのメール受信者は更新が必要です(技術的には、ベースイメージが 67222bded865 より前のインストールすべて)。

launcher が更新されるまで(今日や明日になる可能性は低いです)、docker pull が必要となります。この変更が多くのサイトに影響を与えることを承知しているため、ここにアナウンストピックを投稿しました。更新手順(docker pull の方法を含む)が記載されています。

「いいね!」 8

このトピックは 30 時間後に自動的に閉鎖されました。新しい返信は許可されていません。