在我的 Nginx 配置中,我有一些 IP 块,以对抗垃圾邮件发送者和机器人。
这是非常有效的,但结果是,我的错误日志很快就会被这样的错误消息填满:
2015/12/16 00:56:28 [错误] 27748#0:*120462 规则禁止访问,客户端:167.114.xxx.xxx,服务器:bla bla ....
现在我不想完全禁用错误日志记录,因为我想在出现问题时找出问题所在。我只想禁用这些“规则禁止”消息的日志记录。
知道如何做到这一点吗?
小智 3
正如这里提到的,使用条件日志记录(access_log
指令):
启用条件日志记录
条件日志记录允许从访问日志中排除琐碎或不重要的日志条目。在 NGINX 中,条件日志记录是通过 access_log 指令的 if 参数启用的。
例如,可以排除 HTTP 状态代码 2XX(成功)和 3XX(重定向)的请求:
Run Code Online (Sandbox Code Playgroud)map $status $loggable { ~^[23] 0; default 1; } access_log /path/to/access.log combined if=$loggable;
编辑:
正如@zsero在评论中描述的那样,条件日志记录仅支持access_log
- 而不是error_log
指令。
归档时间: |
|
查看次数: |
2526 次 |
最近记录: |