Nginx 禁止访问某个目录或文件的设置方法

如果基于WEB根目录下,要禁止用户访问/config目录,或者要禁止用户访问/config.ini(ZF常用INI,不过建议还是放到WEB目录以外的地方),可以通过location进行配置,返回403或者404等
 
 

location = /config/ { 
return 404; 

location =/config.ini{ 
return 404; 

这样只能禁止访问 http://www.jb51.net/path/ 

location = /path/ { 
return 404; 

禁止访问 http://www.jb51.net/path/test.php 

location ^~ /test 

deny all; 
可能test要换成path. 
这样就搞定了
 
对某些特定后缀名禁止访问
location ~* .(txt|doc)$ {
if (-f $request_filename) {
root /home/domain/public_html/test;
break;
}
}
对某个目录进行访问限制:
location /phpsysinfo/ {
allow 192.168.0.10;
deny all;
}




----------------------------------------------------------------------------------------

首先建立下面的配置文件放在nginx的conf目录下面,命名为blocksip.conf: 

deny 95.105.25.181; 

保存一下。 

在nginx的配置文件nginx.conf中加入:include blocksip.conf; 

重启一下nginx的服务:/usr/local/nginx/sbin/nginx -s reload 就可以生效了。 

blocksip.conf:的格式还有许多种,可以配置只允许的IP访问或者IP段访问: 

deny IP; 

allow IP; 

# block all ips 
deny all; 
# allow all ips 
allow all; 

其中网段的写法是这样的:192.168.1.0/24这样的形式。

deny 192.168.1.11;
deny 192.168.1.123;
deny 10.0.1.0/24;

如果你想实现这样的应用,除了几个IP外,其他全部拒绝,
那需要你在ip.balcklist中这样写

allow 1.1.1.1; 
allow 1.1.1.2;
deny all; 

单独网站屏闭IP的方法:

在server"{}",在这个大括号内加入deny IP地址是限制某IP地址访问;allow IP地址是只允许某IP地址访问;

#屏蔽单个IP的命令是
deny 123.45.6.7
#封整个段即从123.0.0.1到123.255.255.254的命令
deny 123.0.0.0/8
#封IP段即从123.45.0.1到123.45.255.254的命令
deny 124.45.0.0/16
#封IP段即从123.45.6.1到123.45.6.254的命令是
deny 123.45.6.0/24

Nginx 禁止访问某个目录或文件的设置方法