您的位置:首页 > 教育 > 锐评 > Nginx-http_auth_basic_module使用

Nginx-http_auth_basic_module使用

2024/10/5 18:29:13 来源:https://blog.csdn.net/cui_win/article/details/140225487  浏览:    关键词:Nginx-http_auth_basic_module使用

文章目录

  • 前言
  • 一、ngx_http_auth_basic_module
  • 二、指令
    • 1.auth_basic
    • 1.auth_basic_user_file
  • 示例
    • 生成密码文件
    • 配置basic认证
    • 浏览器验证
  • 总结


前言

nginx可以通过HTTP Basic Authutication协议进行用户名和密码的认证。


一、ngx_http_auth_basic_module

生效阶段: NGX_HTTP_ACCESS_PHASE
模块默认编译进nginx,通过–without-http_auth_basic_module禁用。

二、指令

1.auth_basic

使用示例:

Syntax:	auth_basic string | off;
Default:	
auth_basic off;
Context:	http, server, location, limit_except

1.auth_basic_user_file

使用示例:

Syntax:	auth_basic_user_file file;
Default:	—
Context:	http, server, location, limit_except

示例

生成密码文件

Usage:htpasswd [-cmdpsD] passwordfile usernamehtpasswd -b[cmdpsD] passwordfile username passwordhtpasswd -n[mdps] usernamehtpasswd -nb[mdps] username password-c  Create a new file. # 创建一个新的文件-n  Don't update file; display results on stdout. # 直接输出产生的结果,无需写入或者更新文件。-m  Force MD5 encryption of the password.#  采用md5哈希-d  Force CRYPT encryption of the password (default).-p  Do not encrypt the password (plaintext).-s  Force SHA encryption of the password.-b  Use the password from the command line rather than prompting for it. # 密码会放在命令行里。-D  Delete the specified user. # 删除某个账户
# 生成密码 
htpasswd -cb  auth.pass  admin admin@6688
#查看
[root@test20 nginx]# cat auth.pass 
admin:$apr1$sZKLzS5n$DA2E0qxK3Rap7QmyWzKIR/

配置basic认证

[root@test20 ~]# cat /etc/nginx/conf.d/access.conf 
server {server_name access.test.io;root html/;location / {auth_basic "auth_basic认证";auth_basic_user_file auth.pass;}
}

浏览器验证

在这里插入图片描述
在这里插入图片描述


总结

basic认证在一些场景还是有用的,但是basic毕竟是http协议下的,可以通过抓包获取到密码。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com