Não é possível visualizar o status do servidor

4

Meu aplicativo é implantado na pasta ROOT no tomcat e é conectado ao apache usando proxy. Ex: -

ProxyPass / ajp://192.168.0.xx:8011/
ProxyPassReverse / ajp://192.168.0.xx:8011/

Quando eu disparo link ele dá uma página em branco e recebo um erro abaixo em access.log

MY IP - - [03/Apr/2014:17:09:48 +0530] "GET /server-status HTTP/1.1" 404 - "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36"

Mas se eu implantar meu aplicativo em outro diretório, diga Test, no tomcat e usando a configuração de proxy abaixo no Apache

ProxyPass /Test ajp://192.168.0.xxx:8011/Test
ProxyPassReverse /Test ajp://192.168.0.xxx:8011/Test/

E agora, se eu clicar no URL: link , ele mostrará a página do servidor com o status do servidor.

Abaixo está minha configuração de status do servidor

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Satisfy any
    Allow from all
</Location>

Por favor, deixe-me saber como usar o status do servidor com a implantação de aplicativos como ROOT no tomcat.

    
por Huzefa 03.04.2014 / 14:05

2 respostas

2

A página /server-status é um recurso do Apache, não do Tomcat. Quando você configura suas regras ProxyPass no nível superior de seu URL, ou seja, / , todo o tráfego, incluindo /server-status , está sendo encaminhado para o servidor Tomcat, que não veicula uma página em /server-status o 404 sendo relatado pelo Apache.

Você pode dizer ao Apache NÃO ao tráfego proxy que está vinculado a /server-status adicionando suas regras da seguinte forma:

ProxyPass /server-status !
ProxyPass /Test ajp://192.168.0.xxx:8011/Test
ProxyPassReverse /Test ajp://192.168.0.xxx:8011/Test/

Você pode ler mais sobre esse recurso nos documentos oficiais do Apache.

The ! directive is useful in situations where you don't want to reverse-proxy a subdirectory

Referências

por 04.04.2014 / 02:02
0

Você pode adicionar "ProxyPass!" para a seção de localização. O resultado deve ser assim.

<Location /server-status>
    ProxyPass !
    SetHandler server-status
    Order deny,allow
    Satisfy any
    Allow from all
</Location>
    
por 01.12.2014 / 15:23