我有文件/var/log/nginx/
日志文件/var/log/nginx/access.log
是空的。
但还是/var/log/nginx/access.log.1
像往常一样被附加。
在文件中/etc/fail2ban/fail2ban.conf
,
logtarget = /var/log/fail2ban.log
在文件中/etc/fail2ban/jail.local
,我做了如下操作:
[wordpress-xmlrpc]
enabled = true
filter = wordpress-xmlrpc
action = iptables[name=WordPressXMLRPC, port=http, protocol=tcp]
logpath = /var/log/nginx/access.log
#logpath = /var/log/nginx/access.log.1
findtime = 30
bantime = 172800
maxretry = 3
上面的设置不起作用。
我必须将其更改为logpath = /var/log/nginx/access.log.1
(它仅在此文件中有效)
然后service fail2ban restart
等待 30 秒,直到它完成读取日志并执行一些iptables
操作。
我有这个设置/etc/nginx/nginx.conf
access_log /var/log/nginx/access.log
那么我的 Nginx 和 fail2ban 配置有什么问题吗?
非常感谢!
答案1
哪个 Nginx 日志文件适用于 fail2ban?
无论哪一个包含您想要匹配的日志条目。
那么我的 Nginx 和 fail2ban 配置有什么问题吗?
如果它按照你预期的方式工作那么没有,但是
日志文件 /var/log/nginx/access.log 是空的。
但 /var/log/nginx/access.log.1 仍像往常一样被附加。
这表明您的 logrotate 配置存在问题。看起来您已经轮换了日志文件,但尚未重新启动 nginx。