我目前正在优化我的 fail2ban 过滤器。
在我的正则表达式之前是这样的:
<HOST> \- \- \[.*\] \"(GET|POST) .+ HTTP\/\d\.\d\" 40\d \d{2,5} \"(.*)\" \"(.*)\"$
它适用于包含这样的 404 错误的每一行:
<HOST> - - [16/Aug/2017:14:02:33 +0200] "GET /favicon.ico HTTP/1.1" 404 6494 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; rv:11.0) like Gecko"
之后我改变了:
\[.*\]
经过
\[[0-9]{2}\/.{3}\/[0-9]{4}\:([0-9]{2}\:){2}[0-9]{2} \+[0-9]{4}\]
但是现在它不再与 fail2ban 匹配,而像 regex101 这样的网站仍然可以识别正确的模式!(如果我没有把 \ 这个词没有出现,请不要介意 \HOST)。
我试图将\d更改为[0-9] / by \/ : by \: Fail2ban 总是错过线路,我不知道为什么..
有人有同样的问题吗?谢谢 !:)