[Nginx]设置某页面只允许特定IP访问,否则抛出404错误

2021-01-08 87点热度 0人点赞 0条评论

我们可以通过设定iptables防火墙来做到让特定的IP访问网站,但是有时候需要网站可以全部访问,但是只针对某个页面(比如管理页面)只运行特定IP访问,这个时候可以用nginx来设置

假设需要让/admin只允许202.202.xxx.0-255来访问,而且如果不允许的IP访问,会显示404,以为是网页不存在,nginx如下设定即可

server {
#省略部分配置

    #这样做,让403 forbiden 也显示成404,外面访问的人以为 page 不存在
    error_page 403 404 /404.html;

    location = /404.html
    {
        internal; #return 404
    }

    #让login.action只有特定IP能访问
    location = /admin
    {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       
        #允许访问的IP或者IP地址段
        #allow   202.202.xxx.3;
        allow 202.202.xxx.0/24;
        deny all;
    }

}

 

admin

这个人很懒,什么都没留下

文章评论

*

code