我与Apache配置清漆3,它是运行完全没有问题。 但是我无法获得登录Apache日志客户端IP。 我尝试了一些解决方案,没有运气周围google搜索。 现在我的Apache的访问日志文件记录服务器的IP,而不是客户端的IP地址。
下面是我对您的关照配置:
光油VCL:(/etc/varnish/default.vlc): http://pastebin.com/PuBqZ6fx
Apache的配置
/etc/httpd/conf/httpd.conf中
的LogFormat “%{X - 转发,对于}则i%升%U%T \” %r \ “%>取值%B \ ”%{Referer的} I \“ \ ”%{用户代理} I \“” varnishcombined
Apache虚拟主机
......其他的东西.....错误日志记录/ FR-错误日志的CustomLog日志/ FR-自定义日志varnishcombined ......其他的东西.....
注意:安装光油版本是清漆,3.0.2-1.el5.x86_64
谢谢。 Raheel
我想你已经在你的引擎收录例如有一个工作的配置,这实际上应该做的伎俩:
if (req.restarts == 0) {
if (req.http.X-Forwarded-For) {
set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
} else {
set req.http.X-Forwarded-For = client.ip;
}
}
在您的vcl_recv {}。
如在评论中提到的OP,所述溶液是Apache模块。 光油增加了X-Forwarded-For
默认头。
然后像Apache模块mod_rpaf (阿帕奇2.2)或mod_remoteip
(阿帕奇2.4)将设置remote_ip正值加到一个由通过在X-Forwarded-For
标头。
这提供了一个更强大的解决方案不是简单地记录了X - 转发,对于头的值到您的Apache日志。 例如,它可以让你访问2级相同的IPS现场,通过光油或直接,正如你所期望的网站功能并正确记录。
该行添加到您的VCL
sub vcl_recv {
# Add a unique header containing the client address
remove req.http.X-Forwarded-For;
set req.http.X-Forwarded-For = client.ip;
}
然后改变的apache的日志格式
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" varnishcombined
现在在你的虚拟主机
<VirtualHost *:8080>
ServerName www.abc.com
CustomLog /var/log/httpd/www.abc.com/access.log varnishcombined
</VirtualHost>