Назад | Перейти на главную страницу

HTTPS в HTTP SAML SSO с использованием mod_auth_mellon

У меня есть простой обратный прокси-сервер HTTPS в HTTP с использованием Apache HTTPD (CentOS)

Я включил mod_auth_mellon для SAML SSO, он отлично работает, если у меня простой HTTP-прокси без виртуального хоста.

Когда я включаю HTTPS и виртуальный хост, mellon auth не работает. Во-первых, это не приводит меня на страницу входа в Okta.

Я вижу, что HTTPS -> Http отлично работает без SAML SSO, он просто не работает, если я включаю SAML.

Конфигурация HTTPD:

<VirtualHost example.test.io:80>
    Redirect permanent / https://example.test.io:443
</VirtualHost>

<VirtualHost example.test.io:443>

    ServerName example.test.io

    SSLEngine on

    SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
    SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
    #ServerAdmin admin@example.com

    ProxyRequests Off
    ProxyPreserveHost On

    #RewriteEngine on
    #RewriteRule ^/content/([^/]+)/(.*) /repository/$2 [R=301,L]

    MellonCacheSize 100
    MellonLockFile "/run/mod_auth_mellon/lock"
    MellonPostTTL 900
    MellonPostSize 1048576
    MellonPostCount 100

    <Location />
        Require valid-user
        AuthType "Mellon"
        MellonVariable "cookie"
        MellonSecureCookie On
        MellonCookiePath /
        MellonUser "NAME_ID"
        MellonProbeDiscoveryTimeout 30
        #MellonDiscoveryURL

        MellonEnable "auth"
        MellonEndpointPath "/sso"
        MellonSPPrivateKeyFile /etc/httpd/mellon/https__okta.key
        MellonSPCertFile /etc/httpd/mellon/https__okta.cert
        MellonSPMetadataFile /etc/httpd/mellon/https__okta.xml
        MellonIdPMetadataFile /etc/httpd/mellon/https-idp-metadata.xml

        #RequestHeader set Authorization "Basic xxx"
        RequestHeader set X-Forwarded-Proto "http"
        ProxyPass http://app.com:8081/
        ProxyPassReverse http://app.com:8081/
    </Location>

    ErrorLog /var/log/httpd/app_error.log
    CustomLog /var/log/httpd/app_access.log common

</VirtualHost>

Я предполагаю, что он переходит в неправильное местоположение URL-адреса приложения, тогда он выдает ошибку 404.

Мысли?