美文网首页nginx
nginx入门详解(五)- 目录加密

nginx入门详解(五)- 目录加密

作者: 运维朱工 | 来源:发表于2019-07-23 10:02 被阅读0次

    在上一章,介绍了对用户的访问限制,这章重点介绍介绍对用户访问目录进行加密,只有输入正确的用户名与密码才能进行访问。

    这个功能特性是由ngx_http_auth_basic_module提供的,默认编译nginx时会编译好,主要有以下两个指令。

    Syntax: auth_basic string | off;
    Default:    
    auth_basic off;
    Context:    http, server, location, limit_except
    
    
    Syntax: auth_basic_user_file file;
    Default:    —
    Context:    http, server, location, limit_except
    
    
    认证的配置可以在http指令块,server指令块,location指令块配置。

    auth_basic string :定义认证的字符串,会通过响应报文返给客户端,也可以通过这个指令关闭认证。 auth_basic_user_file file :定义认证文件。

    实例:

    对匹配目录加密:
    
      location /img {
                    auth_basic "User Auth";
                    auth_basic_user_file /usr/local/nginx/conf/auth.passwd;
            }
    
    
    auth_basic  设置名字
    auth_basic_user_file  用户认证文件放置路径
    
    

    生成认证文件:

    yum  install httpd-tools -y
    htpasswd  -c /usr/local/nginx/conf/auth.passwd admin
    输入两次密码确定。
    
    

    重启服务后,访问验证:

    image.png

    现在当我们访问img目录时,需要输入用户名及密码。

    image.png image.png

    它不仅可以设置访问指定目录时认证还可以直接在访问首页时认证。

    如果需要关闭可以使用auth_basic off;或者直接将这两段注释掉。

    htpasswd命令工具:
    htpasswd(选项)(参数)
    选项
    -c:创建一个加密文件;
    -n:不更新加密文件,只将加密后的用户名密码显示在屏幕上;
    -m:默认采用MD5算法对密码进行加密;
    -d:采用CRYPT算法对密码进行加密;
    -p:不对密码进行进行加密,即明文密码;
    -s:采用SHA算法对密码进行加密;
    -b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
    -D:删除指定的用户。
    
    添加用户名及密码:
    htpasswd -b /usr/local/nginx/conf/auth.passwd  lutixia lutixia666
    
    更新密码:
    htpasswd  -D  /usr/local/nginx/conf/auth.passwd  lutixia
    htpasswd -b  /usr/local/nginx/conf/auth.passwd  lutixia lutixia777
    

    这将是nginx系列文章,可关注同名微信公众号:笨办法学linux
    获取最近文章更新及精品软件,软件持续更新中。

    image.png

    相关文章

      网友评论

        本文标题:nginx入门详解(五)- 目录加密

        本文链接:https://www.haomeiwen.com/subject/qynnlctx.html