Certificat SSL Let's Encrypt ne se renouvelle pas automatiquement pour la 2ème fois consécutive

Bonjour à tous. J’ai besoin d’aide pour le dépannage. Pour la deuxième fois consécutive, mon certificat SSL Let’s Encrypt n’a pas été renouvelé automatiquement. En lisant les fils de discussion pertinents ici, j’ai réussi à renouveler le certificat à chaque fois en supprimant l’ancien et en reconstruisant l’application. J’avais l’impression que cela entraînerait un renouvellement automatique la prochaine fois. Ce ne fut pas le cas.

Je ne vois aucune preuve d’une tâche cron s’exécutant quelque part qui essaie de renouveler le certificat. Je suppose que je devrais regarder dans les différents endroits de la machine hôte, plutôt qu’à l’intérieur du conteneur Docker. Est-ce exact ? crontab -l indique « no crontab for root » et je ne vois rien dans /etc/cron*.

Par conséquent, je ne peux pas savoir avec certitude si mon serveur (1) n’essaie pas de renouveler le certificat ou (2) essaie et échoue. Quelqu’un est-il prêt à me guider dans le dépannage de ce problème ?

Malheureusement, comme j’ai supprimé shared/standalone/{letsencrypt,ssl} afin de provisionner à nouveau le certificat, je n’ai pas d’anciens journaux à examiner. Comment puis-je au moins vérifier que la tâche cron est installée afin de pouvoir consulter les journaux la prochaine fois que le système tentera de renouveler le certificat ?

Merci.

2 « J'aime »

Je pense que c’est la dernière fois que cela s’est produit. Il y a eu une correction en décembre :

Merci beaucoup, mais je préférerais de loin vérifier les paramètres pour voir si le renouvellement à venir est susceptible de se produire. Je ne sais pas comment vérifier ces paramètres, c’est donc l’aide que je demande maintenant.

Apparemment, il devrait y avoir une tâche cron. Où est-elle ? Je n’en vois aucune répertoriée sur mon serveur. N’est-ce pas vraiment une tâche cron, mais une tâche planifiée dans Rails ?

J’ai vu dans /var/discourse/shared/standalone/letsencrypt/acme.sh.log (sur le système hôte) que Discourse a vérifié mon certificat SSL et que la réponse était « Il est toujours valide », donc je suppose que c’est la preuve que Discourse tentera de renouveler le certificat à temps.

Maintenant, j’aimerais savoir comment cette tâche « cron » est configurée ? Est-ce vraiment une tâche cron au niveau de Linux ou simplement une tâche planifiée récurrente dans Rails utilisant quelque chose comme whenever ? Est-ce quelque chose que je peux examiner et vérifier sans parcourir le code source ? Pourrais-je trouver cela en utilisant la console Rails ou ce que c’est en 2026 ? (Cela fait longtemps que je n’ai pas travaillé avec Rails.)

Merci.

Ah, et au fait, j’ai finalement appris que ce défaut provenait d’un raccourci magique non documenté, pas très clair, et manifestement inattendu. « S’il commence par /, alors ce doit être une expression régulière. » Je ne comprends pas encore tout le contexte, mais c’est ce qu’il semble être.

C’est ça, la culture du Duck Typing : une flexibilité merveilleuse avec le risque que si vous n’écrivez pas les choses, les clients auront une surprise. :wink:

Il semble sage de renforcer Pups::ReplaceCommand pour vérifier plus attentivement si to ressemble à une expression régulière ou non. Ou quoi que ce soit qu’il fasse qui suppose qu’il doit eval() quelque chose au lieu de le traiter comme le texte de remplacement.

Je suppose que cela relève de la catégorie des Travaux de Conciergerie Que Personne n’a le Temps Ni l’Énergie de Faire ? Si quelqu’un pouvait me montrer quelques exemples utiles de la manière dont ReplaceCommand doit se comporter, peut-être que je pourrais y consacrer du temps et de l’énergie.

Au moins, j’ai une meilleure idée de ce qui se passe, mais cette connaissance a déjà commencé à se dégrader avant même que j’aie fini d’écrire cette phrase. :person_shrugging: