Nginx基础:5:添加HTTP基本认证

在这里插入图片描述
Nginx可以通过auth_basic模块进行简单设定,从而支持HTTP的基本认证,这篇文章将结合实例介绍一下具体的使用方法。

环境准备

[root@liumiaocn ~]# nginx -v
nginx version: nginx/1.16.1
[root@liumiaocn ~]# 
[root@liumiaocn ~]# systemctl status nginx |grep Active
   Active: active (running) since Wed 2020-01-29 00:52:54 EST; 3min 8s ago
[root@liumiaocn ~]#

步骤1: 准备认证所需要的密码文件

在/etc/nginx/conf.d下生成名为passwd的文件

[root@liumiaocn conf.d]# pwd
/etc/nginx/conf.d
[root@liumiaocn conf.d]# ls
[root@liumiaocn conf.d]#

使用openssl命令生成如下格式的内容(也可以使用htpasswd命令生成,格式相同即可)

用户信息格式:用户名:用户密码

注意:用户密码为加密之后的方式,示例日志如下所示

[root@liumiaocn conf.d]# echo "liumiaocn:"$(openssl passwd -crypt liumiao) >passwd
[root@liumiaocn conf.d]# cat passwd 
liumiaocn:9Rz6nhLoBkXIU
[root@liumiaocn conf.d]# 

这样,用户名为liumiaocn,用户密码为liumiao的认证文件已经准备就绪了。另外,需要注意的是此文件即时起效,可以保存多行,每行对应一个用户的HTTP基本认证信息。

步骤2: 修改location段

在location段中添加如下内容:

          auth_basic "Login Auth";
          auth_basic_user_file conf.d/passwd;

步骤3: 重新加载配置文件

使用如下命令重新加载配置文件

加载命令:nginx -s reload

[root@liumiaocn nginx]# nginx -s reload
[root@liumiaocn nginx]# 

当然重启Nginx可以起到一样的作用

步骤4: 结果确认

使用nginx配置的服务打开页面时,会显示如下登录验证的弹出窗口,正确输入用户名和密码之后即可显示nginx配置的页面了。
在这里插入图片描述
如果用户名或者密码错误会提示重新登录

在这里插入图片描述
这样,在Nginx中添加基本的HTTP认证就完成了。

发布了1028 篇原创文章 · 获赞 1290 · 访问量 398万+

猜你喜欢

转载自blog.csdn.net/liumiaocn/article/details/104106438
今日推荐