nginx安全: 配置http基本验证(Basic Auth)(nginx 1.18.0)

Posted 刘宏缔的架构森林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx安全: 配置http基本验证(Basic Auth)(nginx 1.18.0)相关的知识,希望对你有一定的参考价值。

一,http基本验证的作用:

1,http基本身份验证会从浏览器弹出登录窗口,

   简单明了,容易理解,

   对于面向终端用户的前台来说,不够友好,

   但对于内部员工操作的后台还是很有用,通常作为一层安全措施应用。

2,

在这里为例子,我们新建一个站:

域名:     admin.lhdtest.com
登录名:    admin
密码:     12345678

这里仅作为演示,生产环境不能使用这种极简单的密码

 

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

         对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

 

二,生成供测试的站内文件

1,生成网站的目录

[root@centos8 ~]# mkdir -p /data/site/admin/html

 

2,生成网站的index页面

[root@centos8 ~]# vi /data/site/admin/html/index.html

 

页面html代码:

<html>
<head>
</head>
<body>
welcome to admin.lhdtest.com
</body>
</html>

 

三,配置nginx的http基本验证

1,在nginx.conf中检查是否有对conf.d目录的支持

    如不存在,添加它

include /usr/local/soft/nginx-1.18.0/conf/conf.d/*.conf;

说明:生产环境中,为了管理方便,会把每个server放到专用的conf文件中,

           不要混在一起而全写到nginx.conf中,修改和查找都不方便

 

2,创建网站的server文件

[root@centos8 conf.d]# vi admin.conf

内容:

server {
    auth_basic "lhdtest.com admin";
    auth_basic_user_file /usr/local/soft/nginx-1.18.0/conf/conf.d/admin.pwd;

    listen       80;
    server_name  admin.lhdtest.com;
    root         /data/site/admin/html;
    index        index.html index.shtml  index.htm;
    access_log      /data/nginx/logs/admin.access_log;
    error_log       /data/nginx/logs/admin.error_log;
}

 

2,生成密码:

如果找不到htpasswd命令,

可以用dnf安装这个包:

[root@centos8 conf.d]# dnf install httpd-tools

 

生成密码:

#-n:Don\'t update file; display results on stdout

#-b:Use the password from the command line

#-m:Force MD5 encryption of the password

[root@centos8 conf.d]# htpasswd -nbm admin 12345678
admin:$apr1$nkxLxBPa$EGa.u5yKuQ08m6g/8bGb9.

写入到密码文件

[root@centos8 conf.d]# vi admin.pwd

内容:

admin:$apr1$nkxLxBPa$EGa.u5yKuQ08m6g/8bGb9.

 

3,重启nginx

[root@centos8 conf.d]# systemctl stop nginx
[root@centos8 conf.d]# systemctl start nginx

 

4,测试效果

看截图,输入正确的用户名和密码即可进入网站

 

四,查看nginx的版本

[root@centos8 soft]# /usr/local/soft/nginx-1.18.0/sbin/nginx -v
nginx version: nginx/1.18.0

 

以上是关于nginx安全: 配置http基本验证(Basic Auth)(nginx 1.18.0)的主要内容,如果未能解决你的问题,请参考以下文章

nginx配置指令auth_basic、auth_basic_user_file及相关知识

Nginx认证

为 Nginx 添加 HTTP 基本认证(HTTP Basic Authentication)

配置 nginx 的 basic auth 验证

使用 nginx 进行基本身份验证,然后在 PHP 中进行摘要身份验证失败

ELK小技巧-kibana设置登陆验证