在 nginx 中将阻止的 ip 重定向到不同的 url

在 nginx 中将阻止的 ip 重定向到不同的 url

在我的Nginx配置中

location / {
allow 198.168.0.1;
deny all;
}

现在,我想将除允许的 IP 之外的所有其他 IP 重定向到google.com,我该怎么做?

我尝试过类似

location / {
allow 198.168.0.1;
deny all;
rewrite ^ http://google.com/;
}

但这会直接重定向到google.com所有 IP。我只想198.168.0.1访问该页面,其他页面将被重定向。

答案1

使用error_page指令。

location / {
    allow 198.168.0.1;
    deny all;
    error_page 403 http://www.google.com/;
}

由于deny all将出现 403 错误,我们通过向 发送重定向来覆盖 403 处理http://www.google.com/

相关内容