第一、在安装nginx的sbin目录下执行./nginx -v查看安装nginx的版本号
第二、在安装nginx的sbin目录下执行。./nginx -V查看安装nginx的版本号和模块
第三、
使用nginx的nginx_upstream_check模块来检测后端服务器的转态时,设置只允许某段IP访问,发现不生效,不在此网段的IP也可以访问。
原因为在允许IP访问最后一定要加deny all;表示除了上面allow的其他都禁止
配置如下:
location /status {
check_status;
access_log off;
allow 10.2.72.26;
deny all;
}
最后要加deny all
nginx访问控制allow、deny(ngx_http_access_module)
- 13
- A+
所属分类:Linux Nginx
单看nginx模块名ngx_http_access_module,很多人一定很陌生,但是deny和allow相比没一个人不知道的,实际上deny和allow指令属于ngx_http_access_module.我们想控制某个uri或者一个路径不让人访问,在nginx就得靠它了。
nginx的访问控制模块语法很简单,至少比apache好理解,apache的allow和deny的顺序让很多初学者抓头.好了具体看下这个插件的使用方法吧。
1、安装模块
这个模块内置在了nginx中,除非你安装中使用了--without-http_access_module。如果你还没安装过nginx,那么请参考下ttlsa之前写的nginx安装.
2、指令
allow
语法: allow address | CIDR | unix: | all;
默认值: —
配置段: http, server, location, limit_except
允许某个ip或者一个ip段访问.如果指定unix:,那将允许socket的访问.注意:unix在1.5.1中新加入的功能,如果你的版本比这个低,请不要使用这个方法。
deny
语法: deny address | CIDR | unix: | all;
默认值: —
配置段: http, server, location, limit_except
-----------------------------------------------------------------------第一种、ngx_http_access_module模块介绍-------------------------------------------------------------------------------
ngx_http_access_module模块:可实现基于ip的访问控制功能
Syntax: allow address | CIDR | unix: | all;
Default: —
Context: http, server, location, limit_except
该ngx_http_access_module模块允许限制对某些客户端地址的访问。
自上而下检查,一旦匹配,将生效,不在匹配后面的策略,条件严格的置前
复制代码
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}
#依次检查规则,直到找到第一个匹配项。在此示例中,仅允许对IPv4网络 10.1.1.0/16(192.168.1.0/24 不包括地址192.168.1.1)和IPv6网络进行访问2001:0db8::/32