简单的正则表达式调整

时间:2016-03-07 17:07:29

标签: regex fail2ban

fail2ban实施中,我有一个jail来缩减 getfloods 。即,在一个时间范围内过多的GET响应被禁止。

fail2ban通过我提供的基本正则表达式检测到这些。即:

failregex = ^<HOST>.*"GET.*

该正则表达式在我的nginx access.log文件中解析如下行,并采取必要的操作。

39.54.230.53 - - [07/Mar/2016:11:59:43 +0000] "GET / HTTP/1.1" 499 0 "http://example.com/" "Mozilla/5.0 (Linux; Android 4.4.2;

现在我想在这里添加一个微妙的东西。我只想解析属于以/vote/开头的特定网址格式的GET行,而不是所有GET行。请参阅以下示例:

31.13.113.92 - - [07/Mar/2016:15:36:48 +0000] "GET /vote/1564968/39947/5/1/ HTTP/1.1" 302 5 "http://example.com/?io

我的问题很简单。我如何调整我的正则表达式?它只是:

failregex = ^<HOST>.*"GET /vote/.*

1 个答案:

答案 0 :(得分:0)

你需要逃避正斜杠。

failregex = ^<HOST>.*"GET \/vote\/.*