Bonjour, mon serveur Discourse est bloqué en mode maintenance.
Je l’ai laissé en mode maintenance pendant plusieurs mois exprès, j’ai mis à niveau vers de nombreuses versions depuis que je l’ai initialement mis en mode maintenance.
Ma session a expiré et j’ai été déconnecté, maintenant je ne peux plus me reconnecter.
Je peux me connecter en SSH au serveur Discourse.
J’ai essayé les étapes suivantes :
Se connecter en SSH au serveur Discourse
Naviguer vers /var/discourse/
Exécuter : ./launcher enter app
Exécuter rails c
J’ai essayé plusieurs choses pour désactiver le mode maintenance ici.
Après avoir fait cela, j’ai remarqué que la bannière réapparaissait et je ne pouvais même pas cliquer sur le bouton de connexion car il disait « La connexion est désactivée pendant que le site est en mode lecture seule. » et j’ai également vu la bannière qui disait :
Ce site est en mode lecture seule. Continuez à naviguer, mais les réponses, les likes et autres actions sont désactivés pour le moment.
Lorsque j’appelle à nouveau disable_readonly_mode, la bannière du mode maintenance disparaît et je peux cliquer sur le bouton de connexion. Discourse me redirige même vers le fournisseur d’authentification SSO.
Cependant, lorsque je suis redirigé vers Discourse, j’obtiens une page entière indiquant « Le site est en mode lecture seule. Les interactions sont désactivées. »
J’ai fait quelques recherches et, bien que je n’aie pas encore trouvé de solution, il semble que le lien /u/admin-login contourne le mode lecture seule et vous permette toujours de vous connecter :
Rien de ce que j’ai fait n’a pu me sortir de cet état.
Après Discourse.disable_readonly_mode(Discourse::USER_READONLY_MODE_KEY), il passe en R/W pendant une seconde et revient immédiatement en R/O. Rien de discernable dans les logs. Même vider le Redis n’aide pas. Ni effacer les clés redis à la main.
Ceci est très probablement un bug car le retour de la version 2.8.7 à la 2.8.3 (qui était ma version fonctionnelle précédente) a corrigé le problème.
J’ai essayé de parcourir le code pour trouver où le bug a été introduit, mais je n’ai pas réussi à le déterminer.
Est-ce un site auto-hébergé ? Vider Redis devrait tout effacer car la logique en lecture seule dépend entièrement de la définition des bonnes clés Redis.