337 字
2 分钟
Nginx 设置访问账户与密码
前言
之前我使用Nginx做过一个完全开放云盘,最近发现Nginx原生支持密码访问,就稍微尝试了一下。
之前的文章:Nginx 做一个简单的云盘
设置访问账户与密码
Step1. 生成账户和密码
Ubuntu 可以安装一个用来生成密码文件的工具 apache2-utils:
这里还找到了一个在线工具:在线 htpasswd 生成器
apt install apache2-utils
然后尝试生成一个密码文件1:
htpasswd -cb /etc/nginx/password/pan admin 123456
Step2. 修改nginx的配置文件:
vim /etc/nginx/sites-available/default
具体内容如下:
server { listen 80; server_name pan.zodiaclab.top;
charset utf-8;
root /var/www/pan;
autoindex on; autoindex_exact_size off; autoindex_localtime on;
auth_basic "访问限制" ; auth_basic_user_file /etc/nginx/password/pan; # 密码路径}
保存并退出。
Step3. 让 nginx 重新加载配置文件或重启:
nginx -s reload # 重新加载service nginx restart # 重启 nginx
Step4. 访问受限
进入网页后就能看到下面的弹窗了,输入用户名和密码就能进行访问了。
设置指定路径
使用上面的方法是直接锁定 pan.zodiaclab.top/ 下所有文件,下面尝试对指定路径或文件夹进行加密:
server { ...
location /临时/ { auth_basic "访问限制" ; auth_basic_user_file /etc/nginx/password/pan; }}
如上,将只锁定 pan.zodiaclab.top/临时/ 下的文件,我尝试过 中文或英文路径 都可以。
Footnotes
Nginx 设置访问账户与密码
https://fuwari.vercel.app/posts/建站/nginx/nginx-设置访问账户与密码/