Apache Proxy Zaman Aşımı


19

Apache 2.2 hata_logumuzda aşağıdaki mesajla neler olduğunu anlamaya çalışıyorum:

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.asp

Apache 2.2'yi mod_proxy ile çalıştırıyoruz. Bu Apache, httpd.conf'daki 5 dakikalık TimeOut değeriyle ilgili isteği zaman aşımına uğradı mı? (Yani uzak sunucudan 5 dakika içinde bir yanıt almaz.) Yoksa bu sadece uzak sunucudan bağlantıyı kaldıramayacağını söyleyen bir yanıt mı?

Apache, bu hatayı gördüğüm zaman boyunca MaxClients'tan hızla tükeniyor.

Proxy girişine hızlı bir örnek:

ProxyPass /boom/ga https://super-load1-ga.test.com
ProxyPassReverse /boom/ga https://super-load1-ga.test.com

Yanıtlar:


28

ProxyPass yönergesindeki zaman aşımı süresini artırırsınız :

ProxyPass /boom/ga https://super-load1-ga.test.com connectiontimeout=300 timeout=300

Zaman aşımı değerleri saniye cinsindendir .


6
ProxyPass zaman aşımı bağımsız değişkenini henüz tanımlamıyorsanız, global Timeoutdeğeriniz kullanılır. Bkz. Httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxytimeout ve httpd.apache.org/docs/2.2/mod/core. html # timeout
senkronize edin

Ben de geeting hatası Belirtilen zaman aşımı süresi doldu .... ProxyRequests Kapalı var bu yüzden bu ilgili? zaman aşımı artırmak için yapmalı
mıyım

5

Adresindeki sunucunuzun https://super-load1-ga.example.comyanıt vermesi çok uzun sürüyor gibi görünüyor .

Bu senaryoda, sadece orada oturursa, Apache işlemi bunu bekleyecektir. Bu süreç esasen engellenir, yani başka bir şey yapamaz. Yeterince hızlı bir şekilde zaman aşımına uğramazsanız, Apache işlemleriniz bitecek ve MaxClients'a basacaksınız.

İsteklerin ne kadar sürdüğünü görmek için super-load1-ga.test.com sitesinde günlüklere sahip olmanız gerekir; bunların bir yaş alması gerekir.

ProxyPass bağlantısındaki zaman aşımı süresini kısaltabilirsiniz

http://httpd.apache.org/docs/current/mod/mod_proxy.html#workers


Büyük cevap için teşekkürler Phil. Yani bu 5 dakika ana httpd.conf TimeOut değeri vurmak olduğunu düşünüyorum ve Apache oturum zaman aşımına mı? Proxy belirli bir zaman aşımı ayarladığım için varsayılan olur. Proxy zaman aşımı öneri üzerinde ProxyTimeout değişkeni veya ProxySet komutunu kullanmanız gerektiğini düşünüyor musunuz? (ProxySet bağlantı zaman aşımı = 5 zaman aşımı = 30)
roacha

2

Sorunuzu cevaplamak için evet, proxy modunda Apache2 httpd, Apache2 httpd zaman aşımına uğradığında bu hata mesajını günlüğe kaydeder. Proxy modunda Apache2 httpd'ye bağlı sunucu bunun nedeni olsaydı farklı bir mesaj olurdu.

İletinin birden çok bölümü vardır: hata kodunun The timeout specified has expiredmetin eşdeğeridir APR_TIMEUP, bkz:

srclib / Nisan / misc / Unix / errorcodes.c

case APR_TIMEUP:
    return "The timeout specified has expired";

Sonra proxy: error reading status line from remote server super-load1-ga.test.comise

modüller / vekil / mod_proxy_http.c

Eğer APLOG_DEBUG için günlük düzeyini yukarı krank Eğer ek bir ileti görmelisiniz: proxy: read timeoutçok.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.