我是第一次使用squid,实际上我是从privoxy转发到squid,然后再转发到服务器。当我点击一个请求时,我可以看到privoxy日志,而不是Squid日志。我已经在access.log签到了,但是没有运气。有没有人能帮我。
发布于 2017-03-27 18:27:18
除非您另外配置了Squid,否则所有请求(无论是否成功)都将在完成后写入access.log文件。对于成功的请求,这几乎是立即发生的,但不成功的请求可能需要30秒才会出现在日志中。在检查文件之前,您是否等待了足够长的时间来等待这种情况发生?
假设您在Linux上运行,也许您可以使用wget之类的工具通过代理发送一些请求,然后检查日志。这将确认日志记录实际上正在工作。使用以下语法:
http_proxy=http://localhost:3128/ wget www.google.com --debug在命令开头加上"http_proxy=“将告诉wget使用在端口3128上的本地主机监听的代理。wget向您展示了什么?Squid会向access.log文件中写入任何内容吗?如果是这样,这似乎表明您的代理记录正常,但privoxy不会向其发送任何内容。
您可以尝试的另一件事是在您希望privoxy将流量发送到Squid的TCP端口上运行数据包捕获。我不知道你是如何配置privoxy的,但我假设序列是这样的:
客户端>特权> Squid >服务器
在这种情况下,假设privoxy通过TCP端口3128连接到本地主机上的Squid。您可以运行数据包捕获来查看privoxy是否连接到Squid,如下所示:
tcpdump -i localhost port 3128 -vv或者,如果您看到正在传输的数据包,但又想知道其中的内容,那么优秀的tcpflow就是您的朋友:
tcpflow -c -i localhost port 3128如果您编辑问题以提供更多上下文,则可能提供更好的答案。
发布于 2017-03-27 18:38:02
我已经添加了以下配置,现在可以看到日志了。
access_log /var/log/squid/access.log squid
access_log syslog:daemon.debug squidhttps://stackoverflow.com/questions/43001400
复制相似问题