Problema di login in un solo sito in un sistema multisito

Ho un sito principale di Discourse con altri 6 sottositi aggiunti, ognuno con dominio e DB distintivi.

Inizialmente, ho copiato il DB del sito principale per mantenere la coerenza, e funziona bene con gli altri 5 sottositi.

Per un solo sito, ogni volta che provo ad accedere:

  • Se è tramite OIDC, ottengo l’errore “Spiacenti, l’autorizzazione è scaduta o hai cambiato browser. Riprova.” su uno schermo vuoto.
  • Se è tramite ID/PW, ottengo “Errore sconosciuto” sopra la casella ID/PW.

Ho anche copiato il DB da uno funzionante a quello nuovo, ma non funziona.

Di seguito è riportata la configurazione multisito, nel caso possa essere utile.

    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

Il motivo per cui ho scelto ‘oneexample’ e ‘1example’ è perché il dominio contiene un numero all’inizio. Il mio unico sospetto finora è che il numero crei il problema, perché copiare il DB su un sito funzionante senza un numero nel nome del dominio funziona bene.

Qualcuno potrebbe dire che dovrei scegliere un dominio diverso, ma questo è un dominio a pagamento piuttosto costoso e vorrei farlo funzionare.

Ho rimosso i cookie del browser, eliminato i log di accesso dal DB e ho anche provato con un altro dominio con lo stesso database. Tutto ha funzionato bene.

Una potenziale soluzione che ho in mente e che non ho testato è cambiare il dominio in un sottodominio, solo per sostituire il numero all’inizio dell’indirizzo del dominio, come

Ma, di nuovo, questo vanifica lo scopo di pagare $$$ per questo dominio premium.

Sto guardando nel posto sbagliato? Ci può essere una soluzione funzionante?

Ho provato anche con host_names: xxx.1example.com, ma restituisce lo stesso errore.

Con lo stesso database, ho provato con successo con un numero di URL senza un numero. Sembra essere correlato al problema del dominio, ma non ho altri indizi.

Dal mio blocco location di Nginx,

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

Ho rimosso l’ultima riga, poiché la sua funzione duplica quella delle prime due righe. In qualche modo, sembra che Discourse abbia visto l’accesso provenire da http, invece che da https.

Ho anche aggiunto la seguente riga in app.yml, solo per assicurarmi che Discourse tenti effettivamente l’accesso tramite https, e alla fine ha funzionato.

  • DISCOURSE_FORCE_HTTPS: true

Quindi la domanda principale è, come ha funzionato per gli altri 5 sottositi?

mi hai beccato/a su questo

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