0

许多网站管理员使用 pingdom.com 作为监控 ping 服务。

但问题是 /httpd/access_log 充满了

208.64.28.194 - - [06/Aug/2015:12:20:22 -0500] "GET / HTTP/1.1" 200 2917 "-" "Pingdom.com_bot_version_1.4_(http://www.pingdom.com/)"

我设置

CustomLog "logs/access_log" combined env=!dontlog

并尝试使用变体来摆脱它,例如

SetEnvIf Remote_Host "^pingdom\.com$" dontlog
SetEnvIFNoCase Remote_Host "pingdom.com$" dontlog
SetEnvIfNoCase Referer "www\.pingdom\.com" dontlog
SetEnvIFNoCase Host "^pingdom.com$" dontlog

但他们中的任何一个仍然没有成功 - 所以感谢任何其他尝试的提示。

4

1 回答 1

1

我会把我的评论放在这里作为答案,这样任何人都会发现这更容易。

由于从日志文件中可以看出,主机名不是 Pingdom.com,而是用户代理字符串的一部分。

尝试的解决方案:首先确保您已启用 setenvif 模块。写命令

sudo apache2ctl -M | grep setenv

它应该返回类似“setenvif_module (shared)”的东西

然后你可以尝试通过远程地址设置

SetEnvIf Remote_Addr "208\.64\.28\.194$" dontlog 

最终的工作解决方案是这样的,如果用户代理字符串包含 Pingdom 字符串,则不要记录:

SetEnvIfNoCase User-Agent "^Pingdom" dontlog 

编辑:增强了答案的某些部分。

于 2015-08-23T05:56:30.977 回答