Aravinda Asked: 2014-11-03 08:02:42 +0800 CST2014-11-03 08:02:42 +0800 CST 2014-11-03 08:02:42 +0800 CST 如何自定义 Squid 访问日志以显示上传文件,就像它的记录下载文件一样 772 只是想知道,有没有办法使用 squid 日志检查上传内容或与上传相关的任何数据?任何插件或增强功能?任何其他可行的选择。感谢您的任何建议。谢谢.. squid 1 个回答 Voted Best Answer user186340 2014-11-22T13:22:32+08:002014-11-22T13:22:32+08:00 文件上传只是 POST 请求,Squid 会记录默认使用的请求方法: Squid 的原生格式是: time elapsed remotehost code/status bytes method URL rfc931 peerstatus/peerhost type 所以像这样的命令grep POST /var/log/squid/access.log应该给你所有的 POST 请求,但是这也将包括很多不是文件上传的请求,这里有一个例子: 1416604451.778 243 172.16.1.20 TCP_MISS/200 455 POST http://serverfault.com/posts/641455/editor-heartbeat/answer - HIER_DIRECT/198.252.206.16 application/json 1416604497.047 245 172.16.1.20 TCP_MISS/200 327 POST http://serverfault.com/posts/641455/editor-heartbeat/answer - HIER_DIRECT/198.252.206.16 application/json 1416604542.304 241 172.16.1.20 TCP_MISS/200 327 POST http://serverfault.com/posts/641455/editor-heartbeat/answer - HIER_DIRECT/198.252.206.16 application/json 1416604587.562 241 172.16.1.20 TCP_MISS/200 327 POST http://serverfault.com/posts/641455/editor-heartbeat/answer - HIER_DIRECT/198.252.206.16 application/json 1416604694.915 241 172.16.1.20 TCP_MISS/200 313 POST http://serverfault.com/posts/validate-body - HIER_DIRECT/198.252.206.16 application/json 您可以尝试按请求正文大小进行过滤以获得更好的日志,但如果不修改 Squid 的源,则无法记录请求正文,因此您将很难获取实际上传的文件。 也许查看ICAP并创建一个响应 REQMOD 并在将请求返回给 Squid 之前记录请求正文的程序?
文件上传只是 POST 请求,Squid 会记录默认使用的请求方法:
所以像这样的命令
grep POST /var/log/squid/access.log
应该给你所有的 POST 请求,但是这也将包括很多不是文件上传的请求,这里有一个例子:您可以尝试按请求正文大小进行过滤以获得更好的日志,但如果不修改 Squid 的源,则无法记录请求正文,因此您将很难获取实际上传的文件。
也许查看ICAP并创建一个响应 REQMOD 并在将请求返回给 Squid 之前记录请求正文的程序?