我如何记录Squid日志?

时间:2017-03-24 13:57:49

标签: http proxy squid

我第一次使用鱿鱼,实际上我是从privoxy转发到squid然后转发到服务器。 当我点击请求而不是Squid日志时,我能够看到privoxy日志。 我已经检查了access.log但没有运气。 任何人都可以帮助我。

2 个答案:

答案 0 :(得分:0)

除非您已经配置了Squid,否则所有请求(无论是否成功)都将在完成后写入access.log文件。在成功请求的情况下,这几乎立即发生,但不成功的请求可能最多需要30秒才能显示在日志中。在检查文件之前,您是否等待了足够长的时间?

假设您在Linux上运行,也许您可​​以使用像wget这样的工具通过代理发送一些请求,然后检查日志。这将确认日志记录实际上正在运行。使用以下语法:

http_proxy=http://localhost:3128/ wget www.google.com --debug

在命令开头预先设置“http_proxy =”告诉wget使用在端口3128上的localhost监听代理.Wget向您展示了什么? Squid是否在access.log文件中写入了什么内容?如果是这样,那似乎表明您的代理正在记录正常,但是privxy并没有向它发送任何内容。

您可以尝试的另一件事是在TCP端口上运行数据包捕获,您希望privoxy将流量发送到Squid。我不知道你如何配置privoxy,但我假设序列是这样的:

  

客户> Privoxy>鱿鱼>服务器

在这种情况下,让我们说privoxy通过TCP端口3128连接到本地主机上的Squid。您可以运行数据包捕获以查看privoxy是否连接到Squid,如下所示:

tcpdump -i localhost port 3128 -vv

或者,如果您看到正在传输的数据包但想知道其中的内容,那么优秀的tcpflow就是您的朋友:

tcpflow -c -i localhost port 3128

如果您编辑问题以提供更多背景信息,则可以提供更好的答案。

答案 1 :(得分:0)

我添加了以下配置,现在可以看到日志。

access_log /var/log/squid/access.log squid
access_log syslog:daemon.debug squid