在两个不同的Apache代理网关上使用AmAgentconfiguration

为了validation我们的应用程序的用户,我有一个可以用下图表示的设置:

从Oracle OpenSSO文档中使用的图像

我有一OpenAM运行OpenAM的服务器(图中的OpenSSO Enterprise),有几台客户机服务器,并使用Apache2HTTPD )服务器作为具有两种代理configuration的反向代理。 我有一个使用以下虚拟主机configuration的身份validation和redirect的functionstream程:

 <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 ,redirectOpenAM身份validation,并在login后redirect到server1.comlogin页面。我还有一个辅助configuration( agent_2 ),它根据策略configuration文件在OpenAM中configuration。

当想要在两个不同的ProxyPass/ProxyPassReverse实例上configuration两个不同的OpenAMconfiguration时,出现了我的问题。 上面的代码片段在侦听端口443的虚拟主机上的所有内容上都使用AmAgentConf 。但是,我希望两个应用程序都可以在相同的反向代理URL上访问,以使用正确的代理configuration。 理想情况下,我想要像下面这样的东西:

 <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> 

但是,在<Proxy/>指令中不允许使用AmAgentAmAgentConf

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

我已经阅读了有关在虚拟主机上configurationOpenAM的OpenAM文档,但是我没有configuration两个单独的DocumentRoot 。 这些应用程序不在Apache本身,只是转发。

我可能可以侦听两个独立的端口(例如443和444),并根据端口configuration代理。 但是这太荒谬了。 这似乎是一个普遍的问题,但我的configuration只是不会合作。

所以实质上,你如何configuration两个(或更多)代理应用程序来使用替代代理configuration?