如果找到某些用户代理,Apache 2不会记录

问题描述

好,我来问是因为我尝试了很多事情,从这里开始遵循了很多解决方案,但实际上看不到我尝试做的事情是什么。

我有一个与“第二人生”内部创建的游戏一起使用的PHP服务器。游戏对象(可能很多)在服务器中每分钟都会进行检查,这只是使服务器中的日志变得异常大(可以选择旋转日志,但我想减小它们的大小)。

我正在尝试使用虚拟主机conf文件中的SetEnvIf指令来记录来自第二生命服务器的请求。我只想记录其他来源的访问请求,而不想重生。 conf文件具有两个虚拟主机(2个子域)的设置,但是该规则仅应用于一个

不能使用IP进行操作,因为请求的ip可以更改(sl有很多服务器)。我正在尝试使用User-Agent,如下所示:

SetEnvIf User_Agent secondlife dontlog
CustomLog /var/www/gensrv/logs/access.log combined env=!dontlog

一个日志示例:

216.82.49.40 - - [12/Aug/2020:15:37:30 +0000] "POST /GetServerList.PHP/?hash=dc3e9cf3019e1c94f865cefaf94c16cc HTTP/1.1" 200 374 "-" "Second-Life-LSL/2020-07-31T15:02:15.545966 (https://secondlife.com)"

用户代理似乎就是这个,因为这是我从PHP $ _SERVER ['HTTP_USER_AGENT']中获得的,并且始终具有Second-Life-LSL,最后一部分是Second Life服务器,只有中间的变化:

Second-Life-LSL/2020-07-31T15:02:15.545966 (https://secondlife.com)

我尝试了使用很多正则表达式组合和部分用户代理信息的User-Agent,但仍在记录日志。我检查了setinv是否已启用,并且它是(setenvif_module(shared))

而且,真的,我看不出有什么问题。 Apache的版本为2.4.38,并在Debian 10(BUSTER)服务器中运行。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)