Apache Httpd Custom ErrorDocument 404 Quando ProxyPass retornou 404

9

Eu tenho um servidor web Apache na frente de outro servidor de aplicativos, usando o Proxy Pass. Quando a solicitação para o aplicativo retornou o erro 404, desejo mostrar a página de erro personalizada do servidor da Web, não aquela proveniente do servidor de aplicativos. Eu tentei configurar o ErrorDocument 404 no host virtual, mas não funciona. Como devo fazer isso? Ou isso não é possível?

<VirtualHost *:80>
  ServerName servername
  DocumentRoot /somepath/
  ProxyPass / http://localhost:8080/someapp/
  ProxyPassReverse / http://localhost:8080/someapp/

  ErrorDocument 404 /error.html
</VirtualHost>
    
por hendry.fu 17.08.2011 / 06:59

1 resposta

10

Você pode evitar o proxy para um diretório específico, especificando um ! no lugar do destino do proxy. Como ele age em um diretório, mova error.html para um subdiretório (digamos errors ) e:

<VirtualHost *:80>
  ServerName servername
  DocumentRoot /somepath/
  ProxyPass /errors !
  ProxyPass / http://localhost:8080/someapp/
  ProxyPassReverse / http://localhost:8080/someapp/
  ProxyErrorOverride On
  ErrorDocument 404 /errors/error.html
</VirtualHost>
    
por 17.08.2011 / 07:17