O Apache ReverseProxy configura o servidor upstream para erro quando retorna uma página de erro

1

Estamos usando um Apache LoadBalancer / ReverseProxy para fornecer um failover para nossos servidores da web. Atualmente, estamos com o seguinte problema:

  • Uma chamada de serviço da web retorna um erro com o código de status HTTP 500
  • Como ProxyErrorOverride está definido como On, o Apache substitui a resposta do servidor upstream e a substitui pela página de erro padrão do Apache. Adicionamos essa diretiva para garantir que nenhum detalhe de erro do servidor upstream possa chegar ao exterior.
  • O Apache configura o servidor upstream para declarar "ERR" por um minuto
  • As solicitações subseqüentes são enviadas para outro servidor, que não está ciente da sessão do cliente, portanto, o acesso é negado (usamos sessões fixas e não compartilhadas)

Sem ProxyErrorOverride , a resposta do servidor upstream é retornada e o balanceador de carga NÃO a define como "ERR". Não encontrei este efeito colateral documentado nem uma solução alternativa ainda.

Alguma ideia? Alguns trechos do nosso arquivo de configuração:

    ProxyRequests Off
    # ProxyErrorOverride On

    <Proxy balancer://jboss>
            BalancerMember http://server1:8080 route=11 connectiontimeout=60
            BalancerMember http://server2:8080 route=12 connectiontimeout=60
            ProxySet stickysession=ROUTEID
    </Proxy>

link

Server version: Apache/2.2.15 (Unix)

    
por Tarnschaf 26.09.2014 / 09:22

0 respostas