Nginx列出目录和文件并用密码控制访问权限配置方法
这篇文章介绍怎样用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目录时会提示输入登入信息:

相关文章
nginx如何实现同个ip、端口访问不同的项目(以路径区分项目)
这篇文章主要介绍了nginx如何实现同个ip、端口访问不同的项目(以路径区分项目),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12
详解Nginx虚拟主机配置中server_name的具体写法
这篇文章主要介绍了Nginx虚拟主机配置中server_name的具体写法,server_name服务器名是虚拟主机中必须配置的重要参数,需要的朋友可以参考下2016-03-03
nginx强制使用https访问的方法(http跳转到https)
这篇文章主要介绍了nginx强制使用https访问的方法(http跳转到https),具有一定的参考价值,感兴趣的小伙伴们可以参考一下。2017-01-01


最新评论