Echec du renouvellement de certificat après MAJ vers 3.8

Mon serveur YunoHost

Matériel: Serveur bare-metal loué
Version de YunoHost: MAJ vers 3.8.4.7
J’ai accès à mon serveur : En SSH
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : oui
Si oui, expliquer: J’ai un serveur OpenVPN qui tourne à côté, installé manuellement, et qui ne posait aucun souci avant la mise-à-jour.

Description du problème

Il y a quelques jours j’ai effectué une mise à jour des paquets systems et des apps yunohost, qui a je pense causé un mise à jour de Yunohost. Je ne sais pas sur quelle version j’étais avant (moyen de le savoir?), mais d’après les logs les migrations 13 et 14 ont été executées. Je suis maintenant sur 3.8.4.7.

Hier, le renouvellement du certificat d’un des domaines a échoué.
Dans les logs, je ne vois que 2 choses potentiellement intéressantes:

  • Un warning reporté en erreur, 16 fois (à chaque fois la même clé log_service_regen_con):
None
2020-06-07 16:30:01,029 ERROR    moulinette.core translate - unable to retrieve string to translate with key 'log_service_regen_conf' for default locale 'locales/en.json' file (don't panic this is just a warning)` 
  • La “véritable” erreur, copiée ci-dessous avec 2 ligne de contexte avant (j’ai remplacé le domaine par sub.example.com):
2020-06-07 16:30:53,901 INFO     moulinette.actionsmap process - processing action [26381.1]: yunohost.domain.cert-renew with args={'no_checks': False, 'force': False, 'domain_list': ['sub.example.com'], 'staging': False, 'email': True}
2020-06-07 16:30:53,962 DEBUG    moulinette.authenticator.ldap __init__ - initialize authenticator 'as-root' with: uri='ldapi://%2Fvar%2Frun%2Fslapd%2Fldapi', base_dn='dc=yunohost,dc=org', user_rdn='gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth'
2020-06-07 16:30:55,864 ERROR    yunohost.certmanager certificate_renew - [26381.1] Certificate renewing for sub.example.com failed !

Je peux reproduire le log complet au besoin.
J’obtiens exactement la même chose si je tente le renouvellement en ligne de commande. Je ne vois aucun message qui donne plus de détails ou pourrait expliquer la raison de l’échec. Des idées sur comment je peux en savoir plus.

Autre problème potentiellement lié, du coup je le mentionne aussi: l’outil de diagnostic prétend que aucun des domaines n’est accessible depuis l’extérieur sur le port 80, ce qui est faux (curl depuis mon PC fonctionne et la réponse redirige vers https).

  • Est-ce qu’éventuellement un yunohost app ssowatconf résoudrait les soucis dans le diagnostique ?
  • Est-ce que tu peux confirmer qu’il n’y a aucun détail supplémentaire lorsque tu fais yunohost domain cert-renew ton.domaine.tld --debug

Je confirme : même problème chez moi ! Le message d’erreur apparaît 5 secondes après lancement du renouvellement !

admin@****:~$ sudo yunohost domain cert-renew .blabla.com --debug
175 DEBUG loading actions map namespace ‘yunohost’
209 DEBUG extra parameter classes loaded: [‘comment’, ‘ask’, ‘password’, ‘required’, ‘pattern’]
209 DEBUG initializing base actions map parser for cli
212 DEBUG registering new callback action ‘yunohost.utils.packages.ynh_packages_version’ to [‘-v’, ‘–version’]
351 DEBUG acquiring lock…
392 DEBUG lock has been acquired
464 DEBUG loading python module yunohost.domain took 0.072s
465 INFO processing action [5414.1]: yunohost.domain.cert-renew with args={‘no_checks’: False, ‘force’: False, ‘domain_list’: ['
.blabla.com’], ‘staging’: False, ‘email’: False}
496 DEBUG initialize authenticator ‘as-root’ with: uri=‘ldapi://%2Fvar%2Frun%2Fslapd%2Fldapi’, base_dn=‘dc=yunohost,dc=org’, user_rdn=‘gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth’
1282 ERROR Certificate renewing for ***.blabla.com failed !
1283 DEBUG action [5414.1] executed in 0.818s
1283 DEBUG lock has been released

Bon c’est du au fait que le diagnostique trouve que le domaine n’est pas accessible depuis l’extérieur … ce qui est potentiellement un faux négatif, mais regardons ce que raconte le diagnostique après avoir fait un yunohost app ssowatconf

J’ai déjà effectué un

yunohost app ssowatconf

Tu n’expliques pas ce que dis ton diagnostique, on ne peut pas le deviner … :roll_eyes:

Après avoir executé yunohost app ssowatconf, le diagnostique ne se plaint plus de la connectivité du port 80, et le renouvellement du certificat s’est rédoulé normalement. Merci !

Donc j’imagine que ce qui s’est passé, c’est que lors de la MAJ les fichiers de conf nginx n’ont pas été touchés parce que l’un d’entre eux avait été manuellement modifié (dans mon cas, piwigo à cause d’un vieux bug maintenant résolu), et du coup conf sso non plus?
J’ai beau avoir regénéré la config web, il fallait encore regénérer la conf sso, j’imagine pour que toute la mécanique autour de .well-known soit propre et d’aplomb.

Du coup, si j’ai bien interprété, pas de bug si on considère que les modifs manuelles sont à mes risques et périls :wink: Mais un peu plus d’explications dans les logs du renouvellement auraient été les bienvenues :slight_smile:

1 Like

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