Ciao,
Quando si utilizza Nginx davanti a Discourse (Nginx → AWS LB → contenitore Discourse), l’accesso non funziona affatto. Dopo aver inserito le credenziali, si viene semplicemente reindirizzati alla homepage di Discourse.
Nginx è configurato per reindirizzare HTTP a HTTPS. Abbiamo certificati in AWS Certificate Manager per il nostro dominio e i suoi sottodomini.
È installato il plugin SAML di Discourse. Utilizziamo anche SSO tramite un’altra applicazione e la sua configurazione usa HTTPS. L’opzione force_https è abilitata anche nelle impostazioni del sito.
Possiamo confermare che l’applicazione SSO funziona, ma sembra che l’autenticazione di Discourse abbia smesso di funzionare dopo aver configurato Nginx.
Per il nostro sito dei forum (Discourse), Nginx è configurato come segue:
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;
}
}
Questa configurazione di Nginx funziona per altri sottodomini del nostro sito principale.
Questo è il log dettagliato SSO e, sebbene l’unico errore che vedo sia relativo a ActionController::RoutingError (No route matches [GET] "/.env"),
verbose-sso-log.txt|allegato (6.3 KB)