>记录生活, 工作的点点滴滴...

Nginx 实现简单用户认证

为了实现数据安全, 计划设置对共享的nginx文件服务器进行用户认证. 实现不同的路径对应不同的用户权限. auth_basic模块实现的该功能, 本文主要记录下配置过程中踩到的一点坑.

配置过程很简单, 只需要在相应目录下, 设置如下选项, 其中, user.pwd是用户名密码文件.

location /path {
auth_basic "Restricted";#访问权限类型
auth_basic_user_file D:/Software/nginx/nginx-1.14.2/conf/user.pwd;
}

user.pwd文件中一行代表一个用户, 样式如下

#user.pwd
test:$apr1$7yPa9I/x$0QskEHn402Wbli1cJyrGX0

遇到的问题是, 在Windows下, 没有htpasswd程序, 自己生成的密码无法识别.
解决方法: 下载安装apache, 基于Apache 的 htpasswd 工具来创建密码文件。
参考: https://forum.nginx.org/read.php?2,254125,254187#msg-254187

htpasswd使用: 
显示结果手动编辑文件
htpasswd.exe -nb test test12345
直接写入文件:
htpasswd.exe -nb test test12345 >> D:/Software/nginx/nginx-1.14.2/conf/test.pwd

发表于:2019-02-18 16:33:49浏览(274) 评论(0) Web