我们在 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