Como faço para servir alguns padrões de caminho de raiz do documento, e outros de mod_jk?

StackOverflow https://stackoverflow.com/questions/1064359

  •  21-08-2019
  •  | 
  •  

Pergunta

Nós temos uma situação existente, onde temos Apache 2.0 HTTPD agindo como o balanceador de carga de um cluster de tomcats backend, usando mod_jk 1.2 para a comunicação entre os dois. Os próprios aplicativos são armazenados nos servidores Tomcat, e assim todos os pedidos são passados ??através (mesmo imagens, css, etc) para tomcat, usando o seguinte nas configurações de host virtual:

JkMount /* worker-name

Os hosts virtuais não têm um DocumentRoot definido, uma vez que todo o tráfego vai para baixo do tubo para tomcat.

Nós gostaríamos de começar a servir conteúdo estático direta do Apache (uma ideia radical, eu sei). Dada a nossa estrutura de caminho do aplicativo, a única maneira de distinguir estática do conteúdo dinâmico é a extensão do caminho solicitado arquivo. Assim, por exemplo, todos os pedidos terminando em .jpg, Css, .ico, etc não seria passada através da JkMount, mas em vez servido de um DocumentRoot.

Então esse é o contexto. Minha pergunta é: como posso confgiure o vhost para que todos os pedidos que correspondem a um determinado padrão (especificamente, o meu padrão do que queremos para ser servido a partir apache) são servidos a partir do DocumentRoot, e todos os outros passado para tomcat?

Isso pode ser feito com um regex em JkMount? É JkMount que flexível? Se não, eu posso fazer uso do mod_rewrite?

Foi útil?

Solução

Você pode usar JkUnMount para indicar que certos pedidos não se manipulados por mod_jk. Eu vi exemplos usando extensões de arquivo e caminhos:

JkMount /* worker-name
JkUnMount /*.jpg worker-name
JkUnMount /images/* worker-name

Veja aqui para obter mais informações.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top