تسجيل الدخول (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)