Você aumenta o tempo limite na diretiva ProxyPass :
ProxyPass /boom/ga https://super-load1-ga.test.com connectiontimeout=300 timeout=300
Os valores de tempo limite estão em segundos .
Estou tentando entender o que está acontecendo com a seguinte mensagem em nosso error_log do Apache 2.2:
Wed May 18 21:03:29 2011] [error] [client 172.20.10.10] (70007)The timeout specified has expired: proxy: error reading status line from remote server super-load1-ga.test.com, referer: https://tester2.test.com/boom/ga/inside.as
p
Estamos executando o Apache 2.2 com o mod_proxy. Este Apache está esgotando a solicitação relacionada ao seu valor de 5 min do TimeOut no httpd.conf? (Significa que não recebe uma resposta do servidor remoto em 5 min.) Ou isso é simplesmente uma resposta do servidor remoto dizendo que ele não pode manipular a conexão?
O Apache rapidamente fica sem MaxClients quando vejo esse erro.
Exemplo rápido de entrada do Proxy:
ProxyPass /boom/ga https://super-load1-ga.test.com
ProxyPassReverse /boom/ga https://super-load1-ga.test.com
Você aumenta o tempo limite na diretiva ProxyPass :
ProxyPass /boom/ga https://super-load1-ga.test.com connectiontimeout=300 timeout=300
Os valores de tempo limite estão em segundos .
Parece que seu servidor em htts: //super-load1-ga.test.com está demorando muito para responder.
Nesse cenário, se apenas ficar lá, o processo do Apache vai esperar por ele. Esse processo é essencialmente bloqueado, ou seja, não pode fazer mais nada. Se você não tiver tempo rápido o suficiente, você vai ficar sem processos Apache e apertar MaxClients, o que parece que tudo faz sentido.
Você deve ter logs no site super-load1-ga.test.com para ver quanto tempo os pedidos estão sendo solicitados, eles devem estar com uma certa idade.
Você poderia encurtar o tempo limite na conexão ProxyPass
Para responder à sua pergunta, sim, o Apache2 httpd no modo de proxy registra essa mensagem de erro quando o tempo limite do Apache2 httpd expira. Se o servidor conectado ao Apache2 httpd no modo proxy fosse a causa, haveria uma mensagem diferente.
A mensagem tem várias partes: The timeout specified has expired
é o equivalente textual do código de erro APR_TIMEUP
, consulte:
srclib / apr / misc / unix / errorcodes.c
case APR_TIMEUP:
return "The timeout specified has expired";
Então proxy: error reading status line from remote server super-load1-ga.test.com
está em
modules / proxy / mod_proxy_http.c
Se você aumentar seu nível de log para APLOG_DEBUG, deverá ver uma mensagem adicional: proxy: read timeout
também.
Tags proxy apache-2.2