当前位置:   首页安装配置Nginx列出目录和文件并用密码控制访问权限配置方法

Nginx列出目录和文件并用密码控制访问权限配置方法

发布日期:2022-06-20 09:12 | 文章来源:源码之家

这篇文章介绍怎样用web主机列出指定的目录和文件,并对指定目录进行授权访问。

使用Nginx列出目录

准备工作 - 安装nginx和创建一些目录和文件:

复制代码 代码如下:

$ sudo apt-get install nginx
$ cd /usr/share/nginx
$ mkdir web
$ sudo mkdir directory{1,2,3}
$ sudo touch file{1,2,3}
$ ls
directory1 directory2 directory3 file1 file2 file3

Nginx配置:

复制代码 代码如下:

$ sudo vim /etc/nginx/conf.d/list.conf

server {
listen 80;
server_name 192.168.1.201;

root /usr/share/nginx/web;
index index.html;

autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}

$ sudo service nginx restart/reload


当访问http://192.168.1.201,屏幕显示:

现在就可以用web主机来共享文件;但前提是根目录下必须没有index.html文件。

授权访问指定的目录

有些目录不想让所有人看到,只有指定的用户输入密码后才能访问,例如directory只能由test1访问:

step1安装htpasswd

复制代码 代码如下:

$ sudo apt-get install apache2-utils

step2创建密码文件

复制代码 代码如下:

$ sudo htpasswd -c /home/test/.htpasswd test1
New password:
Re-type new password:
Adding password for user test1

step3修改Nginx配置文件

复制代码 代码如下:

$ sudo vim /etc/nginx/conf.d/list.conf

server {
listen 80;
server_name 192.168.1.201;

root /usr/share/nginx/web;
index index.html;

autoindex on;
autoindex_exact_size off;
autoindex_localtime on;

location ^~/directory1/ {
auth_basic "input you user name and password";
auth_basic_user_file /home/test/.htpasswd;
}
}

重启Nginx服务后,访问directory1目录时会提示输入登入信息:

联系我们
关于使用场景和技术架构的更多咨询,请联系我们的销售和技术支持团队。
Yingsoo Host

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部