• Nginx配置访问权限


    基于IP配置Nginx的访问权限

    Nginx配置通过两种途径支持基本访问权限的控制,其中一种是由HTTP标准模块ngx_http_access_module支持的,通过IP来判断客户端是否拥有对Nginx的访问权限,这里包括两个指令:

    allow指令,用于设置允许访问Nginx的客户端IP;

    allow address | CIDR | all
    #address,允许访问的客户端IP,不支持同时设置多个。如果有多个IP需要设置,需要重复使用allow指令
    #CIDR,允许访问的客户端的CIDR地址,例如 172.10.10.1/100,前面是32位IP地址,后面“25”代表该IP地址中前25位是网络部分,其余位代表主机部分。
    #all,代表允许所有客户端访问。

    从Nginx 0.8.22版本后,该命令也支持IPv6地址,比如:

    allow 2620:100:e000::8001;

    deny指令,与allow正好相反,用于设置禁止访问Nginx客户端IP

    deny address | CIDR | all;

    这两个指令可以在http块、server块或者location块中配置。

    1 location / {
    2     deny 192.168.1.1;
    3     allow 192.168.1.0/24;
    4     deny all;
    5 }

     在以上例子中192.168.1.0/24客户端是可以访问的。因为,Nginx配置在解析的过程中,遇到deny指令或者allow指令是按照顺序对当前客户端的连接进行访问权限检查的。如果遇到匹配的配置时,则停止继续向下搜索相关配置。因此,当192.168.1.0/24客户端访问时,Nginx在第三行解析配置发现允许该客户端访问,就不会继续向下解析第4行了。


    基于密码配置Nginx的访问权限

    Nginx 还支持基于HTTP Basic Authentication 协议的认证。该协议是一种 HTTP 性质的认证办法,需要识别用户名和密码,认证失败的客户端不拥有访问Nginx服务器的权限。该功能由 HTTP 标准模块 ngx_http_auth_basic_module 支持,这里有两个指令需要学习。

        auth_basic指令,用于开启或者关闭该认证功能,语法结构为:

    auth_basic string | off;

    其中,file为密码文件的绝对路径。

    这里的密码文件支持明文或者密码加密后的文件。明文的格式如下所示:

    1 name1:password1
    2 name2:password2:comment
    3 name3:password3

    加密密码可以使用crypt()函数进行密码加密的格式,也可使用htpasswd命令生成:

    htppasswd d:
    ginxconfhtpasswd username

    myzhao是认证的账户名称,需要输入两次密码,然后htppasswd文件中保存的就是加密后的密码:

    htppasswd(第三个冒号后可做注释也可没有):

    myzhao:$apr1$JAVltvyq$4k0V5tWy0Ec0JI5eiZrfJ.:123456

     5、6两行此次新增的配置:

    1 location /software {
    2     autoindex on;
    3     autoindex_exact_size off;
    4     autoindex_localtime on;
    5     auth_basic            "Restricted"; 
    6     auth_basic_user_file  htpasswd;
    7 }
  • 相关阅读:
    GridView分页用法
    鼠标移动 改变Datagrid行的背景颜色
    asp.net清空某一类控件或置某一状态
    解决XP系统下"HTTP 错误 403.9 禁止访问:连接的用户过多"的问题
    Asp.net项目路径获取方法
    误删资料恢复 技巧(转载)
    linux命令
    破解win2003“终端服务器授权”激活许可证! (转载)
    apache搭建网站更改默认语言为GB2312
    jquery实现图片广告轮换效果
  • 原文地址:https://www.cnblogs.com/iuwai/p/4347471.html
Copyright © 2020-2023  润新知