Использование конфигурации 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) и настроить агент на основе порта. Но это просто смешно. Это кажется общей проблемой, но моя конфигурация просто не будет работать.
Итак, по сути, как настроить два (или более) прокси-приложения для использования альтернативной конфигурации агента?
