Fallo de login en solo un sitio en un sistema multisitio

Tengo un sitio principal de Discourse con 6 sub-sitios adicionales, cada uno con un dominio y base de datos distintivos.

Inicialmente, copié la base de datos del sitio principal para mantener la consistencia, y funciona bien con los otros 5 sub-sitios.

Para un solo sitio, cada vez que intento iniciar sesión:

  • Si es a través de OIDC, obtengo el error “Lo sentimos, la autorización ha caducado o has cambiado de navegador. Por favor, inténtalo de nuevo.” en una pantalla en blanco.
  • Si es con ID/contraseña, obtengo “Error desconocido” encima del cuadro de ID/contraseña.

Incluso he copiado la base de datos de uno que funciona al nuevo, pero no funciona.

A continuación, se muestra la configuración de multisitio, en caso de que ayude.

     oneexample:
       adapter: postgresql
       database: oneexample
       username: adminexample
       password: pwexample
       host: 192.168.1.1
       port: 5432
       pool: 25
       timeout: 5000
       db_id: 5
       host_names:
         - 1example.com

La razón por la que elegí ‘oneexample’ y ‘1example’ es porque el dominio contiene un número al principio. Mi única sospecha hasta ahora es que el número crea el problema, porque copiar la base de datos de vuelta a un sitio que funciona sin un número en el nombre de dominio funciona bien.

Algunos dirán que debería elegir un dominio diferente, pero este es un dominio pagado algo caro, y me gustaría hacerlo funcionar.

He eliminado las cookies del navegador, purgado los registros de inicio de sesión de la base de datos y también he probado con otro dominio con la misma base de datos. Todo funcionó bien.

Una posible solución en mi mente que no he probado es cambiar el dominio a un subdominio, solo para reemplazar el número al principio de la dirección del dominio, como:

Pero, de nuevo, eso le quita el sentido de pagar $$$ por este dominio premium.

¿Estoy mirando en el lugar equivocado? ¿Puede haber alguna solución que funcione?

Intenté también con host_names: xxx.1example.com, pero da el mismo error.

Con la misma base de datos, he intentado con éxito con varias URL sin número. Parece estar relacionado con el problema del dominio, pero no tengo más pistas.

Desde mi bloque de ubicación de Nginx,

proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header X-Forwarded-Proto $scheme;

He eliminado la última línea, ya que su función se duplica con las dos primeras. De alguna manera, parece que Discourse vio que el inicio de sesión proviene de http, en lugar de https.

También he añadido la siguiente línea en app.yml, solo para asegurarme de que Discourse intente iniciar sesión a través de https, y finalmente funciona.

  • DISCOURSE_FORCE_HTTPS: true

Así que la pregunta principal es, ¿cómo funcionó para los otros 5 subsitios?

me has pillado en esta

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