Desabilitar regras ProxyPass em um host virtual no apache 2

2

Eu tenho uma regra global de proxypass no httpd.conf

regras a nível global

ProxyPass /test/css http://myserver:7788/test/css
ProxyPassReverse /test/css http://myserver:7788/test/css

e eu tenho um host virtual

Listen localhost:7788
NameVirtualHost localhost:7788
<VirtualHost localhost:7788>
    Alias /test/css/ "C:/jboss/server/default/deploy/test.ear/test-web-app.war/css/"
</VirtualHost>

Gostaria de desabilitar todas as regras globais de proxypass aplicadas neste host virtual? NoProxy parece não funcionar.

(O motivo pelo qual eu gostaria de fazer isso é que tenho abaixo as regras globais que criam um loop de proxy 502 se aplicado dentro desse host virtual

#pass all requests to application server
ProxyPass        /test      http://localhost:8080/test
ProxyPassReverse /test      http://localhost:8080/test

O que eu estou tentando fazer é, servir todo o conteúdo estático (como css) usando o apache, enquanto ainda proxies todo o resto de pedidos para o servidor de aplicativos.

    
por chinto 06.11.2009 / 00:37

2 respostas

1

No vhost, tente algo assim

<VirtualHost localhost:7788>
    ProxyPass /test/css !
    Alias /test/css/ "C:/jboss/server/default/deploy/test.ear/test-web-app.war/css/"
</VirtualHost>

O ! diz para não representar este caminho. Experimenta ...?

Você também pode tentar ProxyRequests Off nas configurações do vhost.

    
por 09.03.2012 / 13:14
0

Supondo que eu entenda o que você está tentando fazer, eu me livraria do material do proxy e usaria um local ou bloco locationmatch para capturar pedidos para o css. Eu colocaria isso na configuração do site principal do apache.

Eu acho que você está usando proxy ou usando um conector AJP no Jboss. Coloque isso depois do seu bloco de localização. Você poderia colocar seu passe de proxy no jboss aqui. Você poderia então definir a raiz do documento do Apache para o topo do seu diretório war. Você provavelmente quer manter seu alias do seu virtualhost também.

Depois de pensar um pouco mais, isso pode ser mais simples

coloque isso no http.conf principal fora de qualquer host virtual

Alias / test / css / "C: /jboss/server/default/deploy/test.ear/test-web-app.war/css/" Ordem permitir, negar Permitir de todos

Eu suponho que você esteja executando tudo isso (Jboss, apache) no mesmo servidor. Observe que você pode alterar o caminho no bloco de diretório para o diretório test-web-app.war e adicionar mais aliases se tiver outras coisas que deseja que o Apache exiba.

Você pode querer ajustar seu Proxypass para o Jboss também para que você tenha um para quaisquer diretórios que você deseja que o JBoss manipule .. Pode funcionar apenas para colocá-lo após o bloco de diretório acima

    
por 06.11.2009 / 17:15