Вход (с включенным SSO) не работает, когда Nginx настроен перед Discourse

Здравствуйте,

При использовании Nginx перед Discourse (Nginx → AWS LB → контейнер Discourse) вход в систему полностью не работает. После ввода учетных данных происходит перенаправление на главную страницу Discourse.

Nginx настроен на перенаправление с HTTP на HTTPS. Для нашего домена и поддоменов у нас есть сертификаты в AWS Certificate Manager.

Установлен плагин SAML для Discourse. Также мы используем SSO через другое приложение, и его конфигурация использует HTTPS. В настройках сайта также включена опция force_https.

Мы можем подтвердить, что приложение SSO работает, но, похоже, аутентификация в Discourse перестала работать после настройки Nginx.

Для нашего форума (Discourse) конфигурация Nginx выглядит следующим образом:

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

Эта конфигурация Nginx работает для других поддоменов нашего основного сайта.

Ниже приведены подробные логи SSO. Единственная ошибка, которую я вижу, касается ActionController::RoutingError (No route matches [GET] "/.env").

verbose-sso-log.txt (6.3 KB)