Nginx的常用模块说明
也是分享nginx的常用模块,这个模块就是auth_basic,就是认证模块;
大概的一个场景就是:当你想要浏览一些web页面资源,然后你得输入账户以及密码才能查看到的一个功能;主要讲解这一块;看看实验用的案例是如何呈现的,go~!
auth_basic模块讲解
1、auth_basic模块
这个模块是用户认证模块,对访问目录进行加密,添加用户权限才能认证;
这个功能特性是由ngx_http_auth_basic_module提供的,默认编译nginx 时会编译好,
主要有以下两个指令。
- 语法结构
语法: auth_basic “用户信息” | off
作用范围:http, server, location, limit_except
语法: auth_basic_user_file file;
作用范围:http, server, location, limit_except
备注说明:
- 认证的配置可以在http指令块,server指令块,location指令块配置。
- auth_basic string :定义认证的字符串,会通过响应报文返给客户端,也可以通过这个指令关闭认证;
- auth_basic_user_file file :定义认证文件。
2、对指定的目录进行加码
- 服务器配置文件
# 对匹配目录加密:
#修改配置文件
[root@Linux2 nginx]# vim conf/nginx.conf
.........#在server下配置
location /aa {
allow 192.168.75.73;
deny all;
#auth_basic 设置名字
auth_basic "User Auth";
#auth_basic_user_file 用户认证文件放置路径
auth_basic_user_file /usr/local/nginx/conf/auth.passwd;
}
- 生成认证的文件
#首先安装一下生成工具
[root@Linux2 nginx]# yum -y install httpd-tools
#然后创建用户以及密码;
#指定生成的认证文件路径
[root@Linux2 nginx]# htpasswd -c /usr/local/nginx/conf/auth.passwd liangjiawei
New password:
Re-type new password:
Adding password for user liangjiawei
#查看一下认证文件
[root@Linux2 nginx]# cat conf/auth.passwd
liangjiawei:$apr1$bEMvvtOn$mDAwYv2Hmn9idqRszPp/F0
- 验证实验结果
- 需要重载配置文件,然后严重
- 当访问aa文件的时候就需要输入用户和密码
- 它不仅可以设置访问指定目录时认证,还可以直接在访问首页时认证。
- 如果需要关闭可以使用auth_basic off;或者直接将这两段注释掉。
#重载配置文件
[root@Linux2 nginx]# nginx -s reload
- 网页认证如下:
- 网页输入192.168.75.72
3、htpasswd命令讲解
作用:创建认证用户
语法:htpasswd + 选项 + 用户
选项:
- -c:创建一个加密的文件
- -m:默认采用MD5算法对密码进行加密;
- -d:采用CRYPT算法对密码进行加密;
- -p:不对密码进行进行加密,即明文密码;
- -s:采用SHA算法对密码进行加密;
- -b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
- -D:删除指定的用户。
#添加用户名以及密码:
#然后用户名-->后面直接跟着密码
[root@Linux2 nginx]# htpasswd -b /usr/local/nginx/conf/auth.passwd zhangsan 1
Adding password for user zhangsan
#更新密码:
[root@Linux2 nginx]# htpasswd -D /usr/local/nginx/conf/auth.passwd zhangsan
Deleting password for user zhangsan
[root@Linux2 nginx]# htpasswd -b /usr/local/nginx/conf/auth.passwd zhangsan 2
Adding password for user zhangsan
4、首页加码
首页加密,其实一样,直接在不同的location上面直接设置
- 在主页上面直接添加两个选项
- 配置如下:
# 对匹配目录加密:
[root@Linux2 nginx]# vim conf/nginx.conf
......
location / {
auth_basic "User Auth";
auth_basic_user_file /usr/local/nginx/conf/auth.passwd;
}
分享环节:
hi,亲爱的朋友们:
- 感谢你们耐心完这个笔记,如果笔记中出现的一些软件包、资源找不到的可以直接留言&私聊,我看见了就回复;
- 资源免费共享;有需要滴滴,(仅仅是我有的)
我的坚持初衷:????立志要成为一名架构师
- 不断地去坚持学,其中的各种各样的难度,不言而喻~!
- 坚持不是一件容易的事情,但它却是成功的关键。做起来吧~!
如果你也想要坚持:那么组团吧,咋们一块互相监督;一天一点分享也是进步;最怕就是孤军奋战!加油吧,追梦人~!