Eu não sou um Apache sysadmin muito experiente (caí no papel como eu era a única pessoa que sabia de alguma coisa sobre isso!) e estou realmente preso a esse problema. Graças a um vendedor super-zeloso eu tenho que chegar a uma solução rápida ...
Basicamente, temos um servidor Apache que, entre outras coisas, é usado para fazer proxy de conexões de entrada para alguns softwares proprietários em máquinas virtuais. Cada cliente tem sua própria VM e um URL distinto. As URLs são ofuscadas e um script RewriteMap é usado para determinar o local do proxy com base nas informações de um diretório LDAP (e alguns outros fatores):
RewriteMap routing_map prg:/scripts/routing_map.pl
RewriteRule ^/app/([^/]+)(.*)$ ${routing_map:$1:$2} [P,QSA,L]
Tudo isso funciona bem.
Agora o problema:
Temos que mapear outro caminho e proxy para as máquinas virtuais de maneira semelhante, mas dessa vez ele precisa ser protegido por senha. Todos os usuários estão no diretório LDAP em unidades organizacionais separadas por cliente. Somente usuários de customerA devem poder acessar a máquina virtual do customerA .
Existe uma maneira de fazer algo semelhante ao RewriteMap, mas com segurança? ou seja, com base na parte exclusiva do cliente do URL, o Apache deve usar filtros diferentes ao pesquisar o LDAP para autenticar usuários? No exemplo de configuração do Apache abaixo, preciso que XXXX seja substituído pela parte exclusiva do cliente do URL que está sendo acessado.
AuthType Basic
AuthBasicProvider ldap
AuthName "Restricted Access"
AuthzLDAPAuthoritative on
AuthLDAPURL ldap://ldap.local/dc=batch?sub
Require ldap-group cn=customers,ou=group,dc=batch
Require ldap-attribute x-od-customer=XXXX
Satisfy All
Depois de muita pesquisa e experimentação estou completamente preso e preciso de alguns conselhos, por favor
Felicidades!