Le renouvellement SSL LetsEncrypt ne fonctionne pas (en raison d'un proxy inverse supplémentaire à l'extérieur)

Le certificat de mon instance Discourse a expiré aujourd’hui et cela provoque une erreur dans le navigateur. J’ai essayé de procéder au renouvellement manuellement comme indiqué ici :

Le certificat semble avoir été renouvelé ; je le vois dans le dossier /shared/letsencrypt et le renouvellement s’est bien déroulé. J’ai redémarré Nginx dans Docker et même effectué une reconstruction de l’instance, mais il semble toujours envoyer l’ancien certificat.

J’ai vérifié le domaine sur plusieurs sites, et tous indiquent que le certificat est expiré, donc ce n’est pas un problème local.

Est-ce que j’aurais manqué quelque chose ?

J’ai suivi exactement les mêmes instructions il y a 15 jours.

cd /var/discourse
./launcher enter app
"/shared/letsencrypt"/acme.sh --cron --home "/shared/letsencrypt" --force
exit

La première chose que j’ai apprise, c’est que si vous visualisez le certificat avec Chrome, il peut apparaître comme invalide alors qu’il est en réalité valide. Voir : Bug Chrome / Chromium : les certificats SSL affichent des dates incorrectes (expirées)

J’ai ensuite essayé :

me@site:/var/discourse$ sudo ./launcher rebuild app

ce qui n’a pas fonctionné, et enfin :

sudo reboot

Le site fonctionnait ensuite comme prévu.


Bien que je note l’étape concernant rebuild, je ne suis pas certain qu’elle soit nécessaire, mais c’est une étape que j’ai effectuée en cours de route.

4 « J'aime »

Après avoir essayé pendant des heures, et juste après avoir publié ce message, j’ai réalisé que, comme j’utilise un déploiement multi-sites avec un proxy inverse nginx, je devais également redémarrer le serveur nginx externe, et cela a fonctionné instantanément. Je vais marquer cela comme la réponse, au cas où quelqu’un se retrouverait dans cette situation.

1 « J'aime »

Je pense que le sudo reboot final a peut-être fonctionné pour vous car il a redémarré nginx, ce qui correspond à ce que j’ai indiqué dans ma solution ci-dessus.

1 « J'aime »

Quelques remarques à ce sujet :

  • dans la situation mentionnée, le navigateur n’affiche pas réellement le certificat comme invalide dans la barre d’adresse
  • selon le système d’exploitation, il se peut qu’il n’y ait pas de message d’alerte concernant la date du certificat si vous l’examinez

Avez-vous trouvé la cause racine de la raison pour laquelle le certificat ne se renouvelait pas automatiquement ?

Sur le site, j’ai noté que c’était parce qu’il n’était pas en mode production, donc tous les e-mails sont suspendus, y compris ceux qui permettraient de renouveler le certificat.

image

La raison pour laquelle l’e-mail est suspendu est qu’il fait partie du processus de restauration de la base de données ; dans ce cas précis, elle a été restaurée à partir d’une autre instance de Discourse.

L’e-mail est désactivé afin que deux sites n’envoient pas les mêmes e-mails.

La seule façon dont l’e-mail intervient dans le processus du tout est que LE pourrait vous envoyer un avertissement si votre certificat arrive à expiration et que vous ne l’avez pas renouvelé.

1 « J'aime »

D’accord. Merci. Maintenant, je dois trouver la cause racine pour laquelle le certificat n’a pas été renouvelé automatiquement.

Y a-t-il une raison pour laquelle un certificat ne se renouvellerait pas ?

Généralement, ce sont des personnalisations qui cassent le processus de manière inattendue. Je vous suggère d’ouvrir un nouveau sujet en indiquant vos détails et ce que vous avez fait.

1 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.