Bonjour,
Lors de l’utilisation de Nginx devant Discourse (Nginx → AWS LB → conteneur Discourse), la connexion ne fonctionne pas du tout. Après avoir saisi les identifiants, une redirection vers la page d’accueil de Discourse se produit simplement.
Nginx est configuré pour rediriger le HTTP vers le HTTPS. Nous disposons de certificats dans AWS Certificate Manager pour notre domaine et nos sous-domaines.
Le plugin SAML de Discourse est installé. Nous utilisons également l’authentification unique (SSO) via une autre application, dont la configuration utilise le HTTPS. L’option force_https est également activée dans les paramètres du site.
Nous pouvons confirmer que l’application SSO fonctionne, mais il semble que l’authentification Discourse ait cessé de fonctionner après l’ajout de Nginx.
Pour notre site de forums (Discourse), Nginx est configuré comme suit :
server {
server_name [subdomain.domain.com];
location / {
resolver [insert.resolver.ip.here] valid=60s;
if ($http_x_forwarded_proto != "https") {
rewrite ^(.*)$ https://$server_name$1 permanent;
}
proxy_pass [AWS-load-balancer-domain];
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Referer $http_referer;
}
}
Cette configuration Nginx fonctionne pour les autres sous-domaines de notre site principal.
Voici le journal détaillé du SSO. Bien que la seule erreur que je remarque concerne ActionController::RoutingError (No route matches [GET] "/.env") :
verbose-sso-log.txt (6.3 KB)