4000 基于IP配置Nginx的访问权限-
2017-09-10 21:25
218 查看
Nginx配置通过两种途径支持基本访问权限的控制,其中一种是由HTTP标准模块ngx_http_access_module支持的,其通过IP判断客户端是否拥有对Nginx的访问权限,这里有两个指令需要我们学习。
allow指令,用于设置允许访问Nginx的客户端IP,语法结构为:
allow address | CIDR | all;
address : 允许访问的客户端IP,不支持同时设置多个。如果有多个IP需要设置,需要重复使用allow指令。
CIDR : 允许访问的客户端的CIDR地址,例如202.80.18.23/25,前面是32位IP地址,后面“/25”代表该IP地址中前25位是网络部分,其余位代表主机部分。
all,代表允许所有客户端访问。
该命令也支持IPV6地址。。
另一指令是deny,作用刚好和allow指令相反,它用于设置禁止访问Nginx的客户端IP,语法结构为:
deny address | CIDR | all
这两个指令可以在http块,server块,或者location块中配置。
例子:
location /{
deny 192.168.1.1;
allow 192.168.1.0/24;
deny all;
}
在上面的配置实例中我们首先精致192.168.1.1访问nginx,然后允许192.168.1.0/24访问nginx,最后设置禁止所有IP访问nginx,那么192.168.1.0/24到底能不能访问呢?
答案是可以访问。Nginx配置在解析过程中,遇到deny或allow指令是按照顺序对当前客户端的连接进行访问权限检查的。如果遇到匹配的配置时,则停止继续向下搜索相关配置。
allow指令,用于设置允许访问Nginx的客户端IP,语法结构为:
allow address | CIDR | all;
address : 允许访问的客户端IP,不支持同时设置多个。如果有多个IP需要设置,需要重复使用allow指令。
CIDR : 允许访问的客户端的CIDR地址,例如202.80.18.23/25,前面是32位IP地址,后面“/25”代表该IP地址中前25位是网络部分,其余位代表主机部分。
all,代表允许所有客户端访问。
该命令也支持IPV6地址。。
另一指令是deny,作用刚好和allow指令相反,它用于设置禁止访问Nginx的客户端IP,语法结构为:
deny address | CIDR | all
这两个指令可以在http块,server块,或者location块中配置。
例子:
location /{
deny 192.168.1.1;
allow 192.168.1.0/24;
deny all;
}
在上面的配置实例中我们首先精致192.168.1.1访问nginx,然后允许192.168.1.0/24访问nginx,最后设置禁止所有IP访问nginx,那么192.168.1.0/24到底能不能访问呢?
答案是可以访问。Nginx配置在解析过程中,遇到deny或allow指令是按照顺序对当前客户端的连接进行访问权限检查的。如果遇到匹配的配置时,则停止继续向下搜索相关配置。
相关文章推荐
- 配置Nginx防止直接用IP访问Web服务器
- Linux命令:nginx安装配置及基于用户认证访问
- nginx下禁止某些ip访问web服务器的配置
- 在nginx中配置ip直接访问的默认站点
- 在nginx中配置如何防止直接用ip访问服务器web server及server_name特性讲解
- nginx中设置限制指定用户或IP组访问权限
- Centos7.2下Nginx配置SSL支持https访问(站点是基于.Net Core2.0开发的WebApi)
- nginx前端,tomcat后端服务器获取客户的真实IP,包括tomcat访问日志获取真实IP的配置
- nginx限制ip访问权限
- Nginx配置实现同一域名下 同一ip 通过子域名访问不同端口
- web服务器之配置(二)基于IP访问和基于DNS访问
- 在nginx中配置如何防止直接用ip访问服务器web server及server_name特性讲解
- 使用Nginx如何配置Tomcat访问日志记录真实IP
- nginx配置实例:只允许内部IP访问 禁止外部访问
- python基于nginx访问日志统计客户端ip访问量
- Nginx 支持 CI 框架的配置并禁止使用 ip 访问
- nginx学习6——显示并发连接数,域名重定向,基于端口的配置,基于ip的配置
- 虚拟机linux配置nginx 为什么win7通过Ip访问不到
- Nginx配置二级目录/路径 映射不同的反向代理和规避IP+端口访问