2012-10-29 37 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秒就收到格式错误的标题消息..:/ –

相关问题