問題
我有一個在DMZ設置中的apache服務器作爲我們的現場機器的反向代理。大多數情況下,這是一種魅力。問題在於用戶說偶爾他們會「暫停」。Apache反向代理奇怪超時
果然,如果我檢查代理上的錯誤日誌,我可以看到這些錯誤中的一小部分。
[error] [client x.x.x.x] (70007)The timeout specified has expired: ZSRV_MSG158A: Beim Lesen eines Dokuments auf dem fernen Host x.x.x.x ist ein Fehler aufgetreten.
或者在英文中,當在遠程主機x.x.x.x上讀取文檔時發生錯誤。
實時計算機上的錯誤日誌完全是空的。
事情我已經試過
我的第一個念頭是,也許活機返航,但代理超時較低所以也許它已經放棄了等待。我發現現場機器的超時時間爲300秒(默認值),所以我嘗試將代理超時時間更改爲310秒。
這沒有什麼區別。這使我相信代理和服務器之間可能存在間歇性連接問題?就好像活着的機器永遠不會收到請求。
我已經在實時計算機和代理上關閉了Keepalive。我也改變它使用http 1,顯然這會減少問題?
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#envsettings
任何想法?