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

这篇文章主要介绍了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目录时会提示输入登入信息:

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

一:确定你的系统是UTF编码 [root@Tserver ~]# env|grep LANG LANG=en_US.UTF-8 二:NGINX配置文件里默认编码设置为utf-8 server { listen 80; server_name .inginx.com ; index index.html index.htm index.php; root /usr/local/nginx/html/inginx.com; ch
有客户反馈在安装网站后,woff、woff2字体无法加载,导致无法显示图标文件,这种情况要怎么解决呢? 这是因为服务器IIS默认是没有SVG,WOFF,WOFF2这几个文件类型的扩展的,所以如果要解决,我们就要在IIS上添加MIME 类型即可。 解决方法: 1、打开服务器IIS管
7-Zip是一款号称有着现今最高压缩比的压缩软件,它不仅支持独有的7z文件格式,而且还支持各种其它压缩文件格式,其中包括ZIP, RAR, CAB, GZIP, BZIP2和TAR。此软件压缩的压缩比要比普通ZIP文件高30-50%。因此,它可以把经WinZip压缩的文件再压缩2-10%。文件
很多网站需要采用伪静态来访问动态网页。所以像phpcms这样的系统,都提供了一个.htaccess文件,供写伪静态规则。但这个规则是针对Apache的。在nginx服务器上并不起作用。 nginx 可以直接将伪静态规则写在配置文件中,但这个需要有服务器管理权限,普通站长不
随着智能手机的普及,越来越多的人使用手机上网,很多网站也应手机上网的需要推出了网站客户端,.apk文件就是安卓(Android)的应用程序后缀名,默认情况下,使用IIS作为Web服务器的无法下载此文件,那么怎么才能让IIS支持.apk文件的下载呢? IIS服务器不能下
php.ini 文件不是经常用到的,突然有一天,你需要修改它了,却不知道他躲在哪里,怎么破? 一般情况下,它会呆在php的安装目录里。 方法/步骤 在你自己的网站目录里,新建一个php文件,写入如下代码 ?php echo phpinfo(); ? 保存,然后在浏览器访问该页面,