Let's Encrypt X3 Albtraum

Ich erhalte seit heute folgende Fehlermeldung, wenn ich die mail-receiver-App verwende. Vorher funktionierte alles einwandfrei.

Die App versucht, die E-Mail über die API an Discourse zu senden. Könnte dies an der Ablaufzeit des DST Root CA X3-Zertifikats liegen?

Falls ja, hat jemand eine Idee, wie man das Problem lösen kann? Ich habe versucht, sowohl die App als auch mail-receiver neu zu erstellen, die Let’s Encrypt-Zertifikate neu zu generieren usw.

<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)

Danke für den Bericht @wlandgraf – wir werden so schnell wie möglich ein neues Mail-Empfänger-Image auf Dockerhub hochladen.

Das release-Tag auf Dockerhub wurde jetzt aktualisiert. Wenn Sie den offiziellen Einrichtungshandbuch befolgt haben, können Sie das neue Image abrufen, indem Sie folgenden Befehl ausführen:

cd /var/discourse
./launcher rebuild mail-receiver

Hi @david, deine schnelle Antwort wird sehr geschätzt. Allerdings hat das mein Problem nicht gelöst. Es besteht weiterhin.

In /var/discourse/containers/mail-receiver.yml, was steht bei dir auf der Zeile base_image:? Dort sollte Folgendes stehen:

base_image: discourse/mail-receiver:release

(Mehr dazu hier)

Ja, das habe ich.

Dies ist der Anfang meiner Datei:

## Dies ist die Vorlage für den eingehenden E-Mail-Empfänger-Container
##
## Nach Änderungen an dieser Datei MÜSSEN Sie neu aufbauen:
## /var/discourse/launcher rebuild mail-receiver
##
## SEIEN SIE *SEHR* VORSICHTIG BEIM BEARBEITEN!
## YAML-DATEIEN SIND SUPER SUPER EMPFINDLICH GEGENÜBER FEHLERN IN LEERRÄUMEN ODER AUSRICHTUNG!
## Besuchen Sie http://www.yamllint.com/, um diese Datei bei Bedarf zu validieren

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

expose:
  - "25:25"   # SMTP

Und hier ist die (teilweise) Ausgabe des Neuaufbau-Vorgangs (die Teile mit API-Schlüsseln wurden weggelassen):

Stellen sicher, dass der Launcher aktuell ist
Origin abrufen
Launcher ist aktuell
Alten Container stoppen
+ /usr/bin/docker stop -t 60 mail-receiver
mail-receiver
cd /pups && /pups/bin/pups --stdin
sha256:5f123a8eb11784828d5195ee0f328a0ea5a5d2ce36eeae1760e3d47b0dbeb15c
165ebaa91836a07696924f95d3746cbd1cc14412f478ba715ee40f502780ab7a
Alten Container entfernen
+ /usr/bin/docker rm mail-receiver
mail-receiver

Können Sie es versuchen

docker pull discourse/mail-receiver:release
cd /var/discourse
./launcher rebuild mail-receiver

Das hat es gebracht! Vielen Dank! Wenn es nichts ausmacht, hätte ich noch ein paar Fragen:

  1. Warum war das notwendig? Sollte ich vor jedem Build immer manuell das neueste Image ziehen?
  2. Muss ich beim erneuten Erstellen der App dieselbe Vorgehensweise (docker pull) anwenden?
  3. Ich habe E-Mails erhalten, die nach dem Neustart gesendet wurden, aber nicht die zuvor gesendeten. Wurden diese E-Mails verloren?

Es scheint, als hätte Ihre Docker-Installation das :release-Tag zwischengespeichert. Um in Zukunft ein docker pull zu vermeiden, könnten wir möglicherweise eine Logik in unser launcher-Skript integrieren.

Die app-Images werden anders behandelt, sodass es dort keine Probleme mit der Zwischenspeicherung geben wird.

Während des Ausfalls gesendete E-Mails sollten mit einem „temporary fail" an den sendenden Server zurückgegeben worden sein. Diese Server sollten die E-Mails regelmäßig erneut versuchen, sodass Sie die fehlenden E-Mails hoffentlich in den nächsten Stunden erhalten werden.

Ausgezeichnet. Vielen Dank nochmals für die schnelle Antwort. Die Welt scheint unter dem Durcheinander mit der Root CA X3 zu leiden, und Sie haben nun Ihren Beitrag geleistet, um die Welt ein wenig besser zu machen. :smiley:

Gibt es Hinweise, wie man feststellen kann, ob ein Mail-Empfänger aktualisiert werden muss und ob ein docker pull erforderlich ist?

Alle vor heute installierten Mail-Empfänger müssen aktualisiert werden. (Technisch gesehen betrifft dies jede Installation, die ein Basis-Image verwendet, das älter als 67222bded865 ist.)

Der Befehl docker pull ist weiterhin erforderlich, bis wir den launcher aktualisieren (was wahrscheinlich nicht heute oder morgen geschehen wird). Ich habe hier gerade ein Ankündigungs-Thema erstellt, da mir bewusst ist, dass dies viele Seiten beeinträchtigen wird. Es enthält Anweisungen zum Update, einschließlich des docker pull: