usamos o Apache e o Jetty para instalar componentes por trás de um firewall. Algumas ações demoram um pouco (10 a 15 minutos). O Apache é o proxy e o Jetty é o alvo do proxy em algumas máquinas. Tudo funciona bem para ações que levam menos de 5 minutos. As ações que levam mais de 5 minutos falham com um erro de proxy 502.
Eu já vi alguns tópicos semelhantes e o conselho foi definir tempo limite e keepalive - ambos não ajudaram.
nossa configuração é:
Windows 2012R2
Apache 2.4.9
Molhe 7
Inicialmente esqueci de mencionar que existe um firewall entre o apache e o Jetty.
No httpd.conf do apache, temos:
ProxyPassMatch ^/([a-z0-9\-]+)/(.+)$ http://$1:3000/$2 timeout=3000 ttl=3000 Keepalive=On
Esperávamos que o tempo limite = 3000 (3000 segundos) manteria o Apache esperando por aproximadamente 50 minutos pela resposta do Jetty. Keepalive e e ttl são ensaios ...
No Jetty, estamos chamando um simples script Groovy que simplesmente fica e espera por um longo tempo. Se o tempo de espera for pequeno, isso funciona como esperado. Se o tempo de espera for superior a 5 minutos, recebemos um erro:
Apache Access: (a solicitação começa às 17:25)
xxx.xxx.xxx.xxx- - [02/Apr/2016:17:25:47 +0200] "GET /server/scripts/waitlong.groovy HTTP/1.1" 502 445 "-" 300509428 "-" "10.119.1.20" 10.119.1.20 3000
Como você pode ver, a duração é de aproximadamente 5 minutos ~ 300509428 e, portanto, um tempo limite - deve durar 10 minutos.
Erro Apache: (a solicitação expira às 17:30)
[Sat Apr 02 17:30:47.815050 2016] [proxy_http:error] [pid 11656:tid 12736] (OS 10060)A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. : [client 10.119.1.20:60466] AH01102: error reading status line from remote server w-bidb1hf:3000
[Sat Apr 02 17:30:47.815050 2016] [proxy:error] [pid 11656:tid 12736] [client 10.119.1.20:60466] AH00898: Error reading from remote server returned by /w-bidb1hf/scripts/waitlong.groovy
Alguma idéia de como fazer para manter o Apache esperando por mais tempo?