在我的 Nginx 配置中,我设置了一些 IP 块,以抵御垃圾邮件发送者和机器人。
这是非常有效的,但结果是,我的错误日志很快就会被这样的错误消息填满:
2015/12/16 00:56:28 [错误] 27748#0: *120462 访问被规则禁止,客户端:167.114.xxx.xxx,服务器:bla bla ....
现在我不想完全禁用错误日志记录,因为我想在出现问题时找出问题所在。我只想禁用这些“规则禁止”消息的记录。
知道怎么做吗?
在我的 Nginx 配置中,我设置了一些 IP 块,以抵御垃圾邮件发送者和机器人。
这是非常有效的,但结果是,我的错误日志很快就会被这样的错误消息填满:
2015/12/16 00:56:28 [错误] 27748#0: *120462 访问被规则禁止,客户端:167.114.xxx.xxx,服务器:bla bla ....
现在我不想完全禁用错误日志记录,因为我想在出现问题时找出问题所在。我只想禁用这些“规则禁止”消息的记录。
知道怎么做吗?
如此处所述,使用条件日志记录(
access_log
指令):启用条件日志
编辑: 正如@zsero 在评论中描述的那样,条件日志只支持
access_log
- 而不是error_log
指令。上游建议有更好的解决方案- 使用带有 if 的地理块来拒绝请求,例如:
我使用这个 nginx 配置来忽略对隐藏文件的恶意请求:
返回 444 ( Connection Closed without Response ) 将关闭连接并且不记录任何错误。