ngx_http_access_module
模块可以限制某些客户端的访问。
指令:allow (address | CIDR | unix: | all);可存在位置:http,server,location,limit_except;作用:允许访问指定的网络或地址
指令:deny (address | CIDR | unix: | all);可存在位置:http,server,location,limit_except;作用:拒绝访问指定的网络或地址
案例
//只允许ip192.168.93.22访问,其他都拒绝
location / {
root /usr/share/nginx/html;
index index.html index.htm;
allow 192.168.93.22;
deny all;
}
//注意如果deny all在前,那么所有ip都会被拒绝。
基于IP的访问控制其实有一个局限性,那就是假设我web服务器限制了ip是1.1.1.1的访问,但是ip是1.1.1.1的这个客户端使用了正向代理,其代理服务器ip是2.2.2.2,那么他就可以通过代理服务器访问我们的客户端,因为web服务器只能捕捉到这个代理服务器的ip。