nginx-如何根据IP地址范围进行重定向?

nginx-如何根据IP地址范围进行重定向?

我正在尝试使一个站点只能从本地网络内访问,而来自外部网络的人们将获得一个显示其他消息的静态页面。

我正在尝试这样做,但似乎没有效果。我哪里做错了?

         if ($remote_addr != 192.168.1.0/24) {
                   rewrite ^/* /covid19 last;
         }

答案1

$remote_addr一个单一的 IP 地址(例如192.168.1.123),因此它不会直接与字符串进行比较192.168.1.0/24

如果要将 IP 地址与/24块进行比较,则可以使用仅检查前三个数字的正则表达式。

例如:

if ($remote_addr !~ "^192\.168\.1\.") { ... }

这个文件了解详情,以及这种警告关于 的使用if

相关内容