Falha de login em apenas um site em um sistema multissite

Tenho um site principal do Discourse com mais 6 subsites adicionados a ele, cada um com domínio e banco de dados distintos.

Inicialmente, copiei o banco de dados do site principal para manter a consistência, e ele funciona bem com os outros 5 subsites.

Para apenas um site, sempre que tento fazer login:

  • Se for via OIDC, recebo o erro “Desculpe, a autorização expirou ou você trocou de navegador. Por favor, tente novamente.” em uma tela em branco.
  • Se for por ID/Senha, recebo “Erro desconhecido” em cima da caixa de ID/Senha.

Eu até copiei o banco de dados de um site que funciona para o novo, mas não funciona.

Abaixo está a configuração de multisite, caso ajude.

    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

O motivo pelo qual escolhi ‘oneexample’ e ‘1example’ é porque o domínio contém um número no início. Minha única suspeita até agora é que o número causa o problema, pois copiar de volta o banco de dados para um site que funciona sem um número no nome de domínio funciona bem.

Alguém pode dizer que eu deveria escolher um domínio diferente, mas este é um domínio pago e caro, e eu gostaria de fazê-lo funcionar.

Removi os cookies do navegador, limpei os logs de login do banco de dados e também tentei com outro domínio com o mesmo banco de dados. Todos funcionaram bem.

Uma solução potencial em minha mente que não testei é mudar o domínio para um subdomínio, apenas para substituir o número na frente do endereço do domínio, como

Mas, novamente, isso perde o propósito de pagar $$$ por este domínio premium.

Estou olhando no lugar errado? Pode haver alguma solução que funcione?

tentei com host_names: xxx.1example.com também, mas dá o mesmo erro.

Com o mesmo banco de dados, tentei com sucesso com vários URLs sem um número. Parece relacionado ao problema de domínio, mas não tenho outra pista.

Do meu bloco location do Nginx,

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

Removi a última linha, pois sua função duplica as duas primeiras. De alguma forma, parece que o Discourse viu o login vindo de http, em vez de https.

Também adicionei a seguinte linha no app.yml, apenas para garantir que o Discourse tente fazer login via https, e finalmente funcionou.

  • DISCOURSE_FORCE_HTTPS: true

Então, a questão principal é, como funcionou para os outros 5 subsites?

você me pegou desta vez

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