Nginx가 Discourse 앞에 설정된 경우 로그인(SSO 활성화)이 작동하지 않습니다

안녕하세요,

Discourse 앞에 Nginx를 적용한 경우(Nginx → AWS LB → Discourse 컨테이너) 로그인 기능이 전혀 작동하지 않습니다. 자격 증명을 입력한 후 Discourse 홈페이지로만 리디렉션됩니다.

Nginx는 http를 https로 리디렉션하도록 구성되어 있습니다. 도메인 및 서브도메인에 대해 AWS Certificate Manager에 인증서가 있습니다.

Discourse SAML 플러그인이 설치되어 있습니다. 또한 다른 애플리케이션을 통해 SSO를 사용 중이며, 해당 설정은 https를 사용하고 있습니다. 사이트 설정에서도 force_https가 활성화되어 있습니다.

SSO 애플리케이션은 정상적으로 작동하는 것을 확인했지만, Nginx를 적용한 후 Discourse 인증이 작동하지 않는 것 같습니다.

포럼 사이트(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)