Назад | Перейти на главную страницу

Fail2ban поиск ботов, формат журнала ошибок несоответствия failregex

Я хочу запретить поиск ботов следующего типа. Но по умолчанию nginx-botsearch.conf не соответствует этому журналу ошибок.

2019/04/19 12:42:22 [error] 1193#1193: *6 open() "/var/www/domain.com/htdocs/.well-known/dnt-policy.txt" failed (2: No such file or directory), client: 184.0.77.164, server: domain.com, request: "GET /.well-known/dnt-policy.txt HTTP/1.1", host: "domain.com"

Затем я изменил по умолчанию failregex, как показано ниже. Но это не соответствует приведенному выше журналу сбоев.

failregex = ^ \[error\] \d+#\d+: \*\d+ (\S+ )?\"\S+\" (failed|is not found) \(2\: No such file or directory\), client\: <HOST>, server\: \S*\, request: \"(GET|POST|HEAD) \/".*?

Я не могу понять, какая часть вызывает эту ошибку. Любая помощь приветствуется.

Просто опечатка в конце:

request: \"(GET|POST|HEAD) \/".*?

В этом нет никакого смысла. Почему бы тебе сбежать от одного " но не другой, и два квантора следуют друг за другом? Я считаю, что это то, что вы хотели написать:

request: \"(GET|POST|HEAD) \/.*\"

С этим изменением он действительно соответствует вашей записи журнала из примера. В следующий раз воспользуйтесь визуальным редактором регулярных выражений (есть несколько веб-приложений), это сэкономит вам много времени.