Cauchemar Let's Encrypt X3

Je rencontre l’erreur suivante depuis aujourd’hui en utilisant l’application mail-receiver. Tout fonctionnait parfaitement auparavant.

Elle tente d’envoyer l’e-mail à Discourse via l’API. Est-il possible que cela soit dû à l’expiration du certificat DST Root CA X3 ?

Si oui, quelqu’un a-t-il une idée de la manière de résoudre ce problème ? J’ai essayé de reconstruire à la fois l’application et mail-receiver, de recréer les certificats Let’s Encrypt, etc.

<19>Sep 30 22:07:26 receive-mail[96]: Échec de l’envoi POST de l’e-mail vers https://forum.validadortiss.com.br/admin/email/handle_mail : SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B : échec de la vérification du certificat (OpenSSL::SSL::SSLError)

Merci pour le rapport @wlandgraf — nous pousserons une nouvelle image de récepteur de courriel sur Dockerhub dès que possible.

Le tag release sur Dockerhub a désormais été mis à jour. Si vous avez suivi les instructions officielles de configuration, vous pouvez récupérer la nouvelle image en exécutant :

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

Bonjour @david, votre réponse rapide est vraiment appréciée. Cependant, cela n’a pas résolu mon problème. Il persiste toujours.

Dans /var/discourse/containers/mail-receiver.yml, que figure-t-il sur la ligne base_image: ? Elle devrait être :

base_image: discourse/mail-receiver:release

(Plus d’informations à ce sujet ici)

Oui, c’est bien ce que j’ai.

Voici le début de mon fichier :

## ce modèle est pour le conteneur de réception des courriels entrants
##
## Après avoir apporté des modifications à ce fichier, vous DEVEZ reconstruire
## /var/discourse/launcher rebuild mail-receiver
##
## SOYEZ *TRÈS* PRUDENT EN ÉDITANT !
## LES FICHIERS YAML SONT SUPER SENSIBLES AUX ERREURS D'ESPACE OU D'ALIGNEMENT !
## visitez http://www.yamllint.com/ pour valider ce fichier si nécessaire

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

expose:
  - "25:25"   # SMTP

Et voici la sortie (partielle) de l’opération de reconstruction (les parties contenant des clés API ont été omises) :

Vérification que le lanceur est à jour
Récupération de l'origine
Le lanceur est à jour
Arrêt de l'ancien conteneur
+ /usr/bin/docker stop -t 60 mail-receiver
mail-receiver
cd /pups && /pups/bin/pups --stdin
sha256:5f123a8eb11784828d5195ee0f328a0ea5a5d2ce36eeae1760e3d47b0dbeb15c
165ebaa91836a07696924f95d3746cbd1cc14412f478ba715ee40f502780ab7a
Suppression de l'ancien conteneur
+ /usr/bin/docker rm mail-receiver
mail-receiver

Peux-tu essayer

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

C’est réglé ! Merci beaucoup ! Quelques questions si cela ne vous dérange pas :

  1. Pourquoi était-ce nécessaire ? Dois-je toujours récupérer manuellement la dernière image avant de construire ?
  2. Dois-je appliquer la même procédure (docker pull) lors de la reconstruction de l’application ?
  3. Je vois que les e-mails envoyés après la reconstruction sont arrivés, mais pas ceux envoyés précédemment. Ces e-mails ont-ils été perdus ?

Il semble que votre installation Docker ait mis en cache le tag :release. Pour éviter de devoir effectuer un docker pull à l’avenir, nous pourrions ajouter une logique dans notre script launcher.

Les images app sont gérées différemment, il n’y aura donc aucun problème de cache de ce côté.

Les e-mails envoyés pendant la panne auraient dû être renvoyés au serveur d’origine avec un message d’« échec temporaire ». Ces serveurs devraient réessayer périodiquement, donc espérons que vous verrez les e-mails manquants arriver dans les prochaines heures.

Excellent. Merci encore pour votre réponse rapide. Le monde semble souffrir de ce problème de Root CA X3 ; vous avez maintenant apporté votre contribution pour rendre le monde un peu meilleur. :smiley:

Quels indices permettent de savoir si un destinataire de courriel doit être mis à jour et si un docker pull est nécessaire ?

Tous les récepteurs de courriel installés avant aujourd’hui devront être mis à jour. (techniquement, toute installation utilisant une image de base antérieure à 67222bded865)

La commande docker pull sera nécessaire jusqu’à ce que nous mettions à jour launcher (ce qui est peu probable aujourd’hui ou demain). Je viens de publier un sujet d’annonce ici, car je sais que cela perturbera de nombreux sites. Il inclut les instructions de mise à jour, y compris la commande docker pull :