配置 Squid 不记录 TCP 连接(日志中出现大量“error:transaction-end-before-headers”)

配置 Squid 不记录 TCP 连接(日志中出现大量“error:transaction-end-before-headers”)

我们在 GCP 中运行 Squid 代理,并且正在从 CentOS 7 迁移到 8。我正在使用 GCP 内部 L4 负载均衡器来改善冗余/故障转移,并且配置了一个运行良好的基本 TCP 健康检查。

但是,Squid 版本 4 似乎记录了 TCP 连接。因此,每 10 秒我就会收到 3 条添加到 /var/log/squid/access.log 的条目:

1618013711.836      0 35.191.10.117 NONE/000 0 NONE error:transaction-end-before-headers - HIER_NONE/- -
1618013712.256      0 35.191.9.223 NONE/000 0 NONE error:transaction-end-before-headers - HIER_NONE/- -
1618013712.484      0 35.191.10.121 NONE/000 0 NONE error:transaction-end-before-headers - HIER_NONE/- -

这将每天生成 25,920 行日志,我想避免这种情况。有没有办法配置 Squid 以避免这种情况发生?默认的 squid.conf 文件没有太多文档/说明。

答案1

根据Squid ACL 文档您可以尝试在 Squid 配置中添加以下 ACL:

acl hasRequest has request

然后记录那些有请求的交易:

access_log /var/log/squid/access.log hasRequest

或者不经请求全部排除:

access_log none !hasRequest

答案2

这确实有效:

acl hasRequest has request
access_log daemon:/var/log/squid/access.log hasRequest

相关内容