nginx反向代理location中配置ip限制
第一、在安装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)
- A+
单看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
-----------------------------------------------------------------------第二种、nginx_upstream_check_module模块介绍-------------------------------------------------------------------------------
https://github.com/yaoweibin/nginx_upstream_check_module/
nginx的第三方插件
嗨,朋友既然来了,何不关注一下!