WP SSO + Discourse Multisite

J’ai deux instances Discourse distinctes et je souhaitais les fusionner en une seule instance multisite.

J’ai suivi le guide multisite pour configurer une nouvelle base de données et la construction s’est bien déroulée. Le problème est que, lorsque je navigue vers le domaine de l’instance B, il redirige vers l’instance A (l’originale liée à l’authentification unique WordPress). Cela signifie que :

  1. en allant sur https://instanceb.discourse
  2. au lieu de rediriger vers https://instancea.discourse
  3. ce qui redirige ensuite vers la page de connexion WordPress.

Comment puis-je faire apparaître le nouveau conteneur multisite ?

Je n’ai aucun problème si le deuxième conteneur nécessite également une authentification unique — ce n’était pas configuré auparavant.

Comme je ne parviens pas à charger l’instance B, je ne peux pas la configurer ni importer sa configuration.

J’utilise un proxy inverse Nginx pour accéder aux deux instances.

Toute aide est appréciée.

Salut Tim,

Celui-ci relève davantage de la question des sites multiples de Discourse, car votre problème semble concerner la relation entre vos deux instances de sites multiples de Discourse et potentiellement la configuration de routage que vous avez mise en place entre elles. L’authentification unique (SSO) WordPress n’est pas le problème ici, j’ai donc reclassé votre sujet dans Support.

Je tiens à signaler l’avertissement suivant sur la page howto des sites multiples de Discourse :

Bien que les sites multiples soient pris en charge dans l’application Discourse, il s’agit d’une configuration avancée pour administrateurs système. Si vous ne savez pas ce que vous faites, ne configurez pas de sites multiples. L’équipe de Discourse ne peut pas fournir de support pour la configuration des sites multiples.

Comme notre priorité est davantage le plugin WordPress lui-même dans Support > WordPress, et que je ne suis pas moi-même expert en sites multiples de Discourse, votre meilleure option serait de voir si quelqu’un dans la communauté peut vous orienter dans la bonne direction, ou de faire appel à un professionnel pour vous aider dans Marketplace.

2 « J'aime »

Cela ressemble à un problème de multisite. Quel guide avez-vous suivi ?

J’ai suivi ce guide :

Mon meilleur avis est que votre proxy inverse est mal configuré et qu’il redirige le site 2 vers le site 1, ou peut-être l’a-t-il fait à un moment donné et votre navigateur a mis en cache la redirection 301.

J’utilise la configuration standard du proxy nginx. La seule modification que j’ai apportée est l’ajout de instanceb dans server_name afin que le trafic soit acheminé vers le conteneur. Existe-t-il une autre méthode pour le faire avec Discourse multisite ?

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; # augmenté de la valeur par défaut de 3m

    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;
    }
}