如何在NGINX Web服务器中阻止特定的URL

时间:2018-12-15 22:40:16

标签: nginx webserver nginx-location ddos nginx-config

我想阻止特定的网址,但是我无法执行此操作:

应阻止的网址example.com/clientarea/?dxx_g=dddd 但是以下网址仍然可以正常使用example.com/clientarea

我尝试了以下操作:

location ^~ /clientarea/ {
  return 444;
}

但是,如果我这样做,它将阻止与/ clientarea的所有连接

希望您能为我提供帮助或为我提供建议

1 个答案:

答案 0 :(得分:1)

locationrewrite语句测试规范化URI,其中不包括?及其后的任何内容。

$request_uri变量包含整个URI。使用ifmap指令测试此变量。

例如:

if ($request_uri = /clientarea/?dxx_g=dddd) {
    return 444;
}

您还可以使用正则表达式。有关更多信息,请参见this document。关于if的使用,请参见this caution

如果要阻止许多URI,则应考虑使用using a map

相关问题