Использование конфигурации AmAgent на двух разных прокси-шлюзах Apache

Чтобы аутентифицировать пользователей для наших приложений, у меня есть настройка, которая может быть представлена ​​следующей диаграммой:

У меня есть сервер с OpenAM работает на нем (OpenSSO Enterprise на диаграмме), имеет несколько клиентских серверов и использует Apache2 (HTTPD) сервер в качестве обратного прокси с двумя конфигурациями агентов. У меня есть функциональный поток аутентификации и перенаправления с использованием следующей конфигурации виртуального хоста:

<VirtualHost *:443>
    AmAgent On
    AmAgentConf /opt/web_agents/apache24_agent/bin/../instances/agent_1/config/agent.conf

    ProxyPreserveHost On
    ProxyPass /application1 https://server1.com:10443/application1
    ProxyPassReverse /application1 https://server1.com:10443/application1
</VirtualHost>

Я подключаюсь к https://reverseproxy.com/application1, перенаправьте для аутентификации OpenAM и перейдите на мою целевую страницу на server1.com после входа в систему. У меня также есть вторичная конфигурация (agent_2), которая делает правильную авторизацию, основываясь на профиле политики, настроенном в OpenAM.

Моя проблема возникает при желании настроить две разные конфигурации OpenAM на двух разных ProxyPass/ProxyPassReverse экземпляров. Фрагмент выше использует AmAgentConf на всем внутри виртуального хоста, прослушивающем порт 443. Но я хочу, чтобы два приложения, доступные обоим по одному URL обратного прокси, использовали правильную конфигурацию агента. В идеале я хотел бы что-то вроде следующего:

<VirtualHost *:443>
    ProxyPreserveHost On

    ProxyPass /application1 https://server1.com:10443/application1
    ProxyPassReverse /application1 https://server1.com:10443/application1

    ProxyPass /application2 https://server2.com:443/application2
    ProxyPassReverse /application2 https://server2.com:443/application2

    <Proxy "https://server1.com:10443/*">
        AmAgent On
        AmAgentConf /opt/web_agents/apache24_agent/bin/../instances/agent_1/config/agent.conf
    </Proxy>

    <Proxy "https://server2.com:443/*">
        AmAgent On
        AmAgentConf /opt/web_agents/apache24_agent/bin/../instances/agent_2/config/agent.conf
    </Proxy>
</VirtualHost>

Но AmAgent а также AmAgentConf не допускаются в пределах <Proxy/> директивы.

centos httpd[1238]: AH00526: Syntax error on line 28 of /etc/httpd/conf.d/default-site.conf:
centos httpd[1238]: AmAgent not allowed here

Я прочитал документацию OpenAM о настройке OpenAM на виртуальных хостах, но я не настраиваю два отдельных DocumentRoot s. Приложения не на самом Apache, они просто пересылаются.

Я, вероятно, могу прослушивать два отдельных порта (например, 443 и 444) и настроить агент на основе порта. Но это просто смешно. Это кажется общей проблемой, но моя конфигурация просто не будет работать.

Итак, по сути, как настроить два (или более) прокси-приложения для использования альтернативной конфигурации агента?

0 ответов

Другие вопросы по тегам