Hola, mi servidor de Discourse está atascado en modo de mantenimiento.
Lo he dejado en modo de mantenimiento a propósito durante varios meses, he actualizado a muchas versiones desde que lo configuré inicialmente en modo de mantenimiento.
Mi sesión ha expirado y he sido desconectado, ahora no puedo volver a iniciar sesión.
Puedo acceder al servidor de Discourse por SSH.
He intentado los siguientes pasos:
Acceder al servidor de Discourse por SSH
Navegar a /var/discourse/
Ejecutar: ./launcher enter app
Ejecutar rails c
He intentado varias cosas para desactivar el modo de mantenimiento aquí.
Al hacer esto, noté que el banner regresa y ni siquiera puedo hacer clic en el botón de inicio de sesión porque dice “El inicio de sesión está deshabilitado mientras el sitio está en modo de solo lectura”. y también veo el banner que dice:
Este sitio está en modo de solo lectura. Continúe navegando, pero responder, dar "me gusta" y otras acciones están deshabilitadas por ahora.
cuando llamo a disable_readonly_mode nuevamente, el banner del modo de mantenimiento desaparece y puedo hacer clic en el botón de inicio de sesión. Discourse incluso me entrega al proveedor de autenticación SSO.
Sin embargo, cuando se me redirige de nuevo a Discourse, obtengo una página completa que dice “El sitio está en modo de solo lectura. Las interacciones están deshabilitadas”.
He estado investigando un poco y, aunque todavía no he encontrado una solución, parece que el enlace /u/admin-login omitirá el modo de solo lectura y te permitirá iniciar sesión:
Nada de lo que hice pudo sacarme del estado.
Después de Discourse.disable_readonly_mode(Discourse::USER_READONLY_MODE_KEY), pasa a R/W por un segundo y vuelve a R/O justo después. Nada discernible en los registros. Incluso vaciar Redis no ayuda. Tampoco borrar las claves de redis manualmente.
Es muy probable que se trate de un error, ya que revertir de 2.8.7 a 2.8.3 (que era mi versión funcional anterior) corrigió el problema.
Intenté revisar el código para averiguar dónde se introdujo el error, pero no pude descifrarlo.
¿Es este un sitio autoalojado? Vaciar Redis debería solucionarlo todo, ya que la lógica de solo lectura depende completamente de establecer las claves de Redis correctas.