上下文:我正在监控一个在切诺基上运行的APT存储库镜像服务器。
目标:知道有多少台计算机在其sources.list中有镜像
方法:跟踪“dists /[..]/ Release”的GET请求
对于Debian Wheezy来说,这将是dists / wheezy / Release。
从一般访问日志中提取行是不可行的,镜像足以使访问日志在短短几天内增长到2 GB。只是想知道有多少不同的IP使用APT镜像,Perl正则表达式对我来说仍然是一种痛苦。
是否可以让Cherokee仅记录符合请求标准的访问权限(以及如何)?
后备解决方案:哪种重定向可以将“释放”GET传递给PHP脚本(谁可以对IP地址进行哈希处理并将其作为文件名放在文件夹中,非常容易计算),谁然后重定向回实际的Release文件? (没有重定向循环,并且考虑到镜像rsync,每次同步后必须重置它)
答案 0 :(得分:0)
使用cherokee-admin,您可以添加与“dists /[..]/ Release”请求匹配的行为规则。然后转到“vServer /行为/规则管理”,在“安全”选项卡上选中“跳过日志记录”选项,禁用除已添加的规则之外的所有规则的日志记录。
什么样的重定向可以将“Release”GET传递给PHP脚本(谁可以将IP地址哈希并将其作为文件名放在文件夹中,非常容易计算),然后谁重定向回实际的Release文件?< / p>
PHP可以发送X-Sendfile(或X-Accel-Redirect)标头,告诉Cherokee发送Release文件。