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,亲爱的朋友们:

  • 感谢你们耐心完这个笔记,如果笔记中出现的一些软件包、资源找不到的可以直接留言&私聊,我看见了就回复;
  • 资源免费共享;有需要滴滴,(仅仅是我有的)

我的坚持初衷:💕立志要成为一名架构师

  • 不断地去坚持学,其中的各种各样的难度,不言而喻~!
  • 坚持不是一件容易的事情,但它却是成功的关键。做起来吧~!

如果你也想要坚持:那么组团吧,咋们一块互相监督;一天一点分享也是进步;最怕就是孤军奋战!加油吧,追梦人~!