阻止nginx服务器中不区分大小写的路径(/admin)

阻止nginx服务器中不区分大小写的路径(/admin),nginx,Nginx,我有一个要求; 使用/admin的任何点击都会在防火墙中被阻止 但是ppl使用大写组合来访问它,比如/Admin或/Admin或类似的任何东西 为了阻止外部的管理员访问,很难为所有组合制定防火墙规则,因此在nginx中寻找某种方法来阻止这一点 请注意,我们还需要阻止像/admin/img/one.jpg这样的子路径(子路径区分大小写,只有admin不区分大小写)。 现有的防火墙规则是阻止/admin的所有外部访问,并且只允许VPN访问 如果需要更多详细信息,请提供帮助。我将更新此票据。您可以使用

我有一个要求; 使用/admin的任何点击都会在防火墙中被阻止 但是ppl使用大写组合来访问它,比如/Admin或/Admin或类似的任何东西

为了阻止外部的管理员访问,很难为所有组合制定防火墙规则,因此在nginx中寻找某种方法来阻止这一点

请注意,我们还需要阻止像/admin/img/one.jpg这样的子路径(子路径区分大小写,只有admin不区分大小写)。 现有的防火墙规则是阻止/admin的所有外部访问,并且只允许VPN访问


如果需要更多详细信息,请提供帮助。我将更新此票据。

您可以使用不区分大小写的正则表达式,可以使用
~*
运算符,也可以使用一系列字符类

以下任何一项都应起作用:

location ~* ^/admin { return 403; }

if ($request_uri ~* ^/admin) { return 403; }

rewrite ^/[Aa][Dd][Mm][Ii][Nn] /goaway.html redirect;
上面的每个正则表达式都匹配URI的开头,因此包含子路径的URI也将匹配

看,还有