Como configurar o mod_proxy_ajp para dar permissões diferentes a aplicativos diferentes em um host virtual?

1

No meu servidor eu tenho dois aplicativos do tomcat: ' oculto ' e ' aberto '. O aplicativo oculto só deve estar disponível para a rede local 192.168.0.0 . O aplicativo aberto deve estar disponível para todas as redes.

Os Aplicativos são executados no Tomcat 7.0.6 e os pedidos são antecipados do Apache 2.2.17 com o mod_proxy_ajp. Tudo isso roda em um servidor FreeBSD 8.2.

O servidor da web Apache também lida com o site raiz, que é estático. Não há nenhum host virtual configurado (apenas um host).

Ainda não encontrei nenhuma configuração de exemplo, então tentei combinar duas configurações simples:

ProxyRequests Off
ProxyPreserveHost On

<Proxy /hidden>
  Order Deny,Allow
  Deny from all
  Allow from 192.168
</Proxy>

<Proxy /open>
  Order Deny,Allow
  Allow from all
</Proxy>

ProxyPass /hidden ajp://localhost:8009/hidden/
ProxyPassReverse /hidden ajp://localhost:8009/hidden/

ProxyPass /open ajp://localhost:8009/open/
ProxyPassReverse /open ajp://localhost:8009/open/

Com esta configuração, ambos os aplicativos são acessíveis de todas as redes. Eu já joguei com as configurações Permitir / Negar. Este parecia o mais lógico para mim.

Alguém tem uma ideia do que há de errado com minha configuração?

Oli

    
por oli 25.03.2011 / 13:36

1 resposta

1

A diretiva <Proxy> usa uma URL completa - já que seu host virtual pode ter mais de um, a diretiva é mais adequada para quando você estiver usando-o como um proxy completo.

Tente alterar suas diretivas para <Location> blocks, que devem aplicar as permissões da maneira que você deseja:

<Location /hidden>
  Order Deny,Allow
  Deny from all
  Allow from 192.168
</Proxy>

<Location /open>
  Order Deny,Allow
  Allow from all
</Proxy>
    
por 25.03.2011 / 15:27