我们可以通过设定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; } }
文章评论