Exclusão Apache ProxyPass. Não use endereços 404 de proxy

1

Estou tentando configurar um proxy reverso com o Apache e, na maioria das vezes, ele está funcionando bem com ProxyPass . Gostaria de excluir um dos diretórios que entendo que posso fazer com o indicador ! , documentado aqui: link

Então eu tenho:

ProxyPass /examples !
ProxyPass / http://localhost:3000/

Isso funciona bem se eu for para um arquivo em /examples que existe, mas se eu acertar um endereço que resulta em um erro 404, a solicitação será intermediada por proxy, em vez de apenas o 404 ser retornado.

Eu preferiria que o 404 seja retornado. Eu não pude ver nada sobre isso na documentação - alguém sabe como isso pode ser feito? Muito obrigado!

Isso é com o Apache v2.4.6.

    
por user3041361 19.01.2014 / 20:37

1 resposta

0

Dependendo da sua configuração do Apache, um documento de erro padrão foi definido fora da localização / examples excluída do seu ProxyPass. Meu RHEL 6 tem o padrão:

 Alias /error/ "/var/www/error/"
 ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var

O que resultará em qualquer mensagem 404 sendo redirecionada para /error/HTTP_NOT_FOUND.html.[en | es | de | fr ] dependendo e as configurações de idioma aceitas do navegador gerando o erro 404.

No seu caso, isso significa que uma solicitação para /examples/no-such-file ainda será redirecionada para http://localhost:3000/ .

Em segundo lugar, talvez você queira investigar o significado da diretiva ProxyPassReverse que você omitiu da sua configuração de amostra.

    
por 19.01.2014 / 21:18