Post 如何在nginx中拒绝发布到特定url

Post 如何在nginx中拒绝发布到特定url,post,nginx,webserver,Post,Nginx,Webserver,我的应用程序上的一些sql密集型URL(比如/members)正在受到僵尸网络的攻击。所以我想禁止任何人发布这些URL,同时允许其他人获取它们 我尝试创建一个嵌套循环,如下所示: if ($request_uri ~ .*members^) { if ($request_method ~ ^(POST)$ ) { return 444; } } 但nginx不接受这一点。想知道如何应用该指令吗 更新: 我也试过了 location ~ "^/members

我的应用程序上的一些sql密集型URL(比如/members)正在受到僵尸网络的攻击。所以我想禁止任何人发布这些URL,同时允许其他人获取它们

我尝试创建一个嵌套循环,如下所示:

if ($request_uri ~ .*members^)  {

   if ($request_method ~ ^(POST)$ ) {
         return 444;
     }
}
但nginx不接受这一点。想知道如何应用该指令吗

更新:

我也试过了

location ~ "^/members$" {
    if ($request_method ~ ^(POST)$ ) {       
        return 444;
    }
}
但这一个也被否定了


所以仍然需要帮助。

我会像这样阻止机器人(示例机器人):


当用户代理被限制在上面的列表中时,这是很好的,但是在我的例子中,他们的代理是如此的多样化,以至于没有希望以这种方式被阻止。
if ($http_user_agent ~* LWP::Simple|BBBike|wget|Baiduspider|Jullo|msnbot|scrapbot) {

    return 403;
}