您的位置:首页 > 运维架构 > Nginx

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指令是按照顺序对当前客户端的连接进行访问权限检查的。如果遇到匹配的配置时,则停止继续向下搜索相关配置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: