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

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

复制代码代码如下:

location = /config/ {
return 404;
}
location =/config.ini{
return 404;
}

(2)这样只能禁止访问 http://example.com/path/
复制代码代码如下:

location = /path/ {
return 404;
}

(3)如果只允许某个ip访问http://example.com/path/那么

location / {
root html;
index index.html;
}

location ^~ /b/ {
allow 192.168.31.198;
deny all;
index index.html;
}

这样,就只能192.168.31.198访问b这个目录

(4)禁止访问 http://example.com/path/test.php
复制代码代码如下:

location ^~ /test
{
deny all;
}
可能test要换成path.
这样就搞定了

(5)对某些特定后缀名禁止访问
location ~* \.(txt|doc)$ {
if (-f $request_filename) {
root /home/domain/public_html/test;
break;
}
}
(6)和上面的(3)是一样的,对某个目录进行访问限制:
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分类目录,贴了标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注