WP SSO + Discourse Multisite

Ho due istanze separate di Discourse e volevo unificarle in un’unica istanza multisito.

Ho seguito la guida multisito per configurare un nuovo database e la build è andata a buon fine. Il problema è che quando navigo verso il dominio dell’istanza B, vengo reindirizzato all’istanza A (quella originale collegata a WordPress SSO). Questo significa che:

  1. andando su https://instanceb.discourse
  2. vengo reindirizzato a https://instancea.discourse
  3. che poi reindirizza alla pagina di login di WordPress.

Come posso fare in modo che il nuovo container multisito venga visualizzato?

Non mi dispiace se anche il secondo container richieda l’SSO; in precedenza non era configurato.

Poiché non riesco a caricare instanceb, non posso configurarlo né importare la configurazione.

Sto utilizzando un reverse proxy nginx per accedere a entrambe le istanze.

Grazie in anticipo per qualsiasi aiuto.

Ciao Tim,

Questa è più una domanda relativa a Discourse multisite, poiché il tuo problema sembra riguardare la relazione tra le tue due istanze di Discourse multisite e potenzialmente il routing che hai configurato tra di esse. L’SSO di WordPress non è il problema qui, quindi ho riclassificato il tuo argomento in Support.

Vorrei segnalare il seguente avviso nella guida howto di Discourse per multisite:

Sebbene multisite sia supportato nell’applicazione Discourse, si tratta di una configurazione avanzata per sysadmin. Se non sai cosa stai facendo, non configurare multisite. Il team di Discourse non può fornire supporto per la configurazione multisite.

Dato che il nostro focus in Support > WordPress è più sul plugin WordPress in sé, e non sono nemmeno io un esperto di Discourse multisite, la cosa migliore potrebbe essere chiedere alla comunità se qualcuno può indicarti la strada giusta, oppure assumere qualcuno per aiutarti nel Marketplace.

2 Mi Piace

Sembra un problema di multisito. Quale guida hai seguito?

Ho seguito questa guida:

La mia migliore ipotesi è che il tuo reverse proxy sia configurato in modo errato e stia reindirizzando il sito 2 al sito 1, oppure lo abbia fatto in passato e il tuo browser abbia memorizzato in cache il reindirizzamento 301.

Sto utilizzando la configurazione proxy nginx standard. L’unica modifica che ho apportato è l’aggiunta di instanceb in server_name, in modo che il traffico venga instradato al contenitore. Esiste un modo diverso per gestire questa situazione con Discourse multisito?

server {
    listen 443 ssl http2; listen [::]:443 ssl http2;
    server_name instancea.mydomain.com instanceb.mydomain.com

    ssl on;

        ssl_certificate /var/www/vhosts/mydomain.com.csr;
        ssl_certificate_key /var/www/vhosts/mydomain.com.key;

    ssl_session_tickets off;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA;

    http2_idle_timeout 5m; # aumentato da 3m, valore predefinito

    location / {
        proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;

  proxy_connect_timeout       600;
  proxy_send_timeout          600;
  proxy_read_timeout          600;
  send_timeout                600;
    }
}