本教程需要依赖于:htpasswd
htpasswd参考:https://cloud.tencent.com/developer/article/2508016
打开终端执行:
添加一个新的账号:zanglikun
htpasswd -c /Users/zanglikun/dev/nginx-password/pwd.htpasswd zanglikun
此命令要求输入密码,再次输入新密码。之后文件会保存到:/Users/zanglikun/dev/nginxpassword/ 下 pwd.htpasswd。
再添加新的账号。
htpasswd -c /Users/zanglikun/dev/nginx-password/pwd.htpasswd 新的账号
最终执行如下:
zanglikun@zanglikundeMacBook-Pro-2 nginx % htpasswd -c /Users/zanglikun/dev/nginx-password/pwd.htpasswd zanglikun
New password:
Re-type new password:
Adding password for user zanglikun
zanglikun@zanglikundeMacBook-Pro-2 nginx % cat /Users/zanglikun/dev/nginx-password/pwd.htpasswd
zanglikun:$apr1$eMvQvDcc$hoVIb8m/HWxO6CQyrOAxe1
zanglikun@zanglikundeMacBook-Pro-2 nginx % htpasswd
/Users/zanglikun/dev/nginx-password/pwd.htpasswd admin
New password:
Re-type new password:
Adding password for user admin
zanglikun@zanglikundeMacBook-Pro-2 nginx % cat /Users/zanglikun/dev/nginx-password/pwd.htpasswd
zanglikun:$apr1$eMvQvDcc$hoVIb8m/HWxO6CQyrOAxe1
admin:$apr1$VY1w4Oag$vGv88UTMmcbZAo4ZUWWxI0
注意:认证的生命周期是在浏览器未关闭的。一旦浏览器关闭,认证就结束。会重新弹窗要求输入密码的。!
主要是添加2行配置:
# 添加基本认证
auth_basic "Restricted Access"; # 显示在认证对话框中的提示
auth_basic_user_file /Users/zanglikun/dev/nginx-password/pwd.htpasswd; # 指向密码文件的路径
最终效果如下:
server {
listen 9999;
server_name localhost;
# 将来访问呢就是 server_name/abc 即可访问下载页面
location /download {
server_tokens off; # 隐藏Nginx的版本号,但是也会在响应头有server:nginx,不再有版本号了,也属于安全配置
alias /Users/zanglikun/dev/download/; # Windows文件夹路径有空格 就""包起来,Mac不需要
autoindex on; # 开启文件列表,如果设置off,则看不到文件列表。属于安全配置
autoindex_exact_size off; # 精确显示文件实际大小,设置为off才能看到有效单位,一个1GB以字节显示太长了
charset gbk,utf-8; # Mac版本需要把utf-8写在前面,不然会导致中文文件(夹)乱码
# 添加基本认证
auth_basic "Restricted Access"; # 显示在认证对话框中的提示
auth_basic_user_file /Users/zanglikun/dev/nginx-password/pwd.htpasswd; # 指向密码文件的路径
}
}
尝试访问试试:会要求你输入账号与密码
认证失败就是:
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:[www.zanglikun.com](https://www.zanglikun.com/)