Para autenticar usuários para nossos aplicativos, tenho uma configuração que pode ser representada com o seguinte diagrama:
EutenhoumservidorcomOpenAM
emexecuçãonele(OpenSSOEnterprisenodiagrama),tenhováriosservidoresclienteseusoumservidorApache2
(HTTPD
)comoumproxyreversocomduasconfiguraçõesdeagente.Eutenhoumfluxofuncionaldeautenticaçãoeredirecionamentousandoaseguinteconfiguraçãodehostvirtual:
<VirtualHost*:443>AmAgentOnAmAgentConf/opt/web_agents/apache24_agent/bin/../instances/agent_1/config/agent.confProxyPreserveHostOnProxyPass/application1https://server1.com:10443/application1ProxyPassReverse/application1https://server1.com:10443/application1</VirtualHost>
Eumeconectoahttps://reverseproxy.com/application1
,redirecionoparaautenticaçãoOpenAMesouredirecionadoparaminhapáginadedestinoemserver1.com
apósologin.Eutambémtenhoumaconfiguraçãosecundária(agent_2
)quefazsuaautorizaçãocorreta,combasenoperfildepolíticaconfiguradonoOpenAM.
MeuproblemasurgequandoqueroconfigurarduasconfiguraçõesOpenAMdiferentesemduasinstânciasProxyPass/ProxyPassReverse
diferentes.OsnippetacimausaoAmAgentConf
emtudodentrodohostvirtualqueatendenaporta443.Masqueroquedoisaplicativos,ambosacessíveisnamesmaURLdoproxyreverso,usemaconfiguraçãocorretadoagente.Idealmente,gostariadealgocomooseguinte:
<VirtualHost*:443>ProxyPreserveHostOnProxyPass/application1https://server1.com:10443/application1ProxyPassReverse/application1https://server1.com:10443/application1ProxyPass/application2https://server2.com:443/application2ProxyPassReverse/application2https://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>
Mas AmAgent
e AmAgentConf
não são permitidos na diretiva <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
Eu li a documentação do OpenAM sobre configurando o OpenAM em hosts virtuais , mas não estou configurando dois DocumentRoot
s separados. As aplicações não estão no próprio Apache, apenas encaminham.
Provavelmente, posso ouvir em duas portas separadas (por exemplo, 443 e 444) e configurar o agente com base na porta. Mas isso é ridículo. Parece um problema comum, mas minha configuração não coopera.
Então, em essência, como você configura dois (ou mais) aplicativos proxied para usar uma configuração de agente alternativa?