1

上下文:我正在监视在 Cherokee 上运行的 APT 存储库镜像服务器。
目标:知道有多少计算机在它们的sources.list 中有镜像
方法:跟踪“dists/[..]/Release”的GET 请求
对于Debian Wheezy,这将是dists/wheezy/Release。

从一般访问日志中提取行是不可行的,镜像足以使访问日志在短短几天内增长到 2 GB。只是想知道有多少不同的 IP 使用 APT 镜像,而 Perl 正则表达式对我来说仍然很痛苦。

是否可以让 Cherokee 只记录与请求条件匹配的访问权限(以及如何)?

后备解决方案:什么样的重定向可以将“Release”GET 传递给 PHP 脚本(谁可以对 IP 地址进行 sha1 哈希并作为文件名放在文件夹中,很容易计数),然后谁重定向回实际的 Release 文件?(没有重定向循环,并且考虑到镜像 rsync 每次同步后谁必须重置它)

4

1 回答 1

0

使用 cherokee-admin,您可以添加与“dists/[..]/Release”请求匹配的行为规则。然后转到“vServers/Behavior/Rule Management”并在“Security”选项卡上选中“Skip Logging”选项,禁用除您添加的规则之外的所有规则的日志记录。

什么样的重定向可以将“Release”GET 传递给 PHP 脚本(谁可以对 IP 地址进行 sha1 哈希并作为文件名放在文件夹中,很容易计数),然后谁重定向回实际的 Release 文件?

PHP 可以发送 X-Sendfile(或 X-Accel-Redirect)标头,告诉 Cherokee 发送 Release 文件。

于 2013-06-17T13:15:47.670 回答