Eu tenho usado o apache como um proxy reverso para um servidor de aplicativos puma (RoR). Os ativos estão todos em um subdiretório chamado assets, e eu adicionei uma linha à configuração do apache assim:
<Location /assets>
ProxyPass !
</Location>
Isso funcionou bem, o material estático era servido pelo apache, todo o resto era proxied para o puma. No entanto, quero implementar o balanceamento de carga, então adicionei as seguintes linhas à configuração:
<Proxy balancer://mycluster>
BalancerMember http://localhost:9292
BalancerMember http://192.168.1.2:9292
</Proxy>
e defina as diretivas reversas de passagem de proxy e de passagem de proxy para essa
ProxyPass / balancer://mycluster lbmethod=byrequests
ProxyPassReverse / balancer://mycluster
Agora, o diretório de recursos não funciona, recebo um erro 500 quando o navegador tenta obter um dos arquivos no diretório. No log de erros do servidor, a seguinte linha aparece:
[Wed Aug 28 15:31:52 2013] [warn] proxy: No protocol handler was valid for
the URL /assets/application-c713b532d29cd16b1e8d99df39489e72.css. If you
are using a DSO version of mod_proxy, make sure the proxy submodules are
included in the configuration using LoadModule.
Alguém pode sugerir porque minha configuração não funciona mais? A configuração completa é aqui
- EDITAR
Na verdade, o único caminho que funciona é o caminho da raiz, nenhuma das outras solicitações que anteriormente estavam em proxy para o trabalho do servidor puma também.