0
点赞
收藏
分享

微信扫一扫

5、Nginx 常见模块 auth_basic:实现账户认证功能

Nginx 账户认证功能

由 ngx_http_auth_basic_module 模块提供此功能

官方帮助:

http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html

语法格式:

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

范例:

auth basic             提示字符串       
auth basic user file   后跟密码账户的文件路径

第一步:安装
需要安装包来启动这个服务
centos安装包
yum -y install httpd-tools
ubuntu安装包
apt -y install apache2-utils


第二步:创建访问认证用户和密码
创建用户 -c 
非交互式方式提交密码 -b
htpasswd -cb /apps/nginx/conf/.htpasswd user1 123456   #创建用户、密码和存放文件
cat /apps/nginx/conf/.htpasswd                         #查看存放用户密码的文件
user1:$apr1$2luIRVEi$RhPG6IuR5Jvn9kghpnGPH/
再创建第二个账户,不需要加c,加c就把第一个覆盖了
htpasswd -b /apps/nginx/conf/.htpasswd user2 123456


第三步:创建资源
cd /data/nginx/html/pc/
mkdir admin
echo admin page > admin/index.html

第四步:配置资源可认证访问
vim www.meng.org.conf
server {
    listen 80 ;
    server_name www.meng.org;
    root /data/nginx/html/pc/;   
    location /admin {                                # 访问admin这个文件是需要密码的         
        auth_basic      "please input username and password";   # 提示字符串
        auth_basic_user_file /apps/nginx/conf/.htpasswd;        # 账户密码文件
   }
}
nginx -s reload
tail -f /apps/nginx/logs/access.log   打开访问日志

在另一机器进行访问curl www.meng.org/admin/ 报状态码401(质询) 弹出对话框,输入用户密码
新版本的浏览器不显示提示字符串   IE浏览器可以 在windos命令行 输iexplore调出IE浏览器 
也可非交互式访问 curl http://user1:123456@www.meng.org/admin/
admin page

以上走的是http协议,账户密码可以被抓包软件抓到。 不加密的协议,都可以被抓到包。


举报

相关推荐

0 条评论