Tente isto:
location ^~ /members {
limit_except GET {
deny all;
}
}
Negar todas as solicitações, exceto GET
.
Alguns dos URLs pesados de SQL no meu aplicativo (digamos /members
) estão sendo atacados por botnets. Por isso, gostaria de desabilitar qualquer pessoa para postar nesses URLs, permitindo que outros os obtenham.
Eu tentei fazer um loop aninhado assim:
if ($request_uri ~ .*members^) {
if ($request_method = POST ) {
return 444;
}
}
Mas o nginx não aceita isso.
Eu também tentei esta diretiva
location ~ "^/members$" {
if ($request_method ~ ^(POST)$ ) {
return 444;
}
}
mas este também nega o GET.
Então, fique sem noção e aprecie sua ajuda.
Tente isto:
location ^~ /members {
limit_except GET {
deny all;
}
}
Negar todas as solicitações, exceto GET
.
Tags nginx web-server botnet