2012-10-29 101 views
4

我一直在Apache的錯誤日誌中收到此錯誤:客戶端發送格式不正確的主機頭

[client 127.0.0.1] Client sent malformed Host header 

正是每5分鐘。這是因爲我們在服務器上安裝了Varnish,但我不明白爲什麼以及如何解決它。我甚至試圖設置Apache的error_log詳細信息進行調試,但沒有提供其他有用的信息。任何想法?

我們光油配置很簡單:

backend default { 
    .host = "127.0.0.1"; 
    .port = "9001"; 
} 

sub vcl_recv { 
    remove req.http.X-Forwarded-For; 
    set req.http.X-Forwarded-For = client.ip; 
} 

我們有幾個虛擬主機上運行的端口9001

誰能告訴我更多關於此錯誤以及如何解決或至少調查一下吧?

回答

2

Varnish在您的後端執行health check,可能需要更精確地配置Apache以接受它。如果這不能解決您的問題,請嘗試在Apache中記錄User-Agent標頭,以確定誰發出格式錯誤的請求。

+0

是否有可能捕獲錯誤日誌中的用戶代理?我的LogFormat指令中已經有User-Agent,但我只能在問題 –

+0

中粘貼行,嘗試更改Varnsh健康檢查的時間間隔。當你在新的時間間隔發生錯誤時,你知道它是清漆。否則,您可能需要將TCP通信轉儲到Apache以查看發生了什麼。 – simonmenke

+1

每10分鐘更改一次健康檢查,我每5分鐘33秒就收到格式錯誤的標題消息..:/ –

相關問題