Nginx目录浏览功能

要给其他人提供一个patch的下载地址,于是想用nginx的目录浏览功能来做,需要让其他人看到指定一个目录下的文件列表,然后让他自己来选择该下载那个文件;效果如图。

实现步骤:在虚拟主机配置文件里面开启目录索引功能:

代码如下:
 
listen       8080;     #端口号为8080是因为其他网站占用80端口。为了不防止冲突
server_name qinyujie.com;

root /var/www/html/;

        autoindex on;     #//开启目录浏览功能; 关闭off

        autoindex_exact_size off;      #//关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b; 

        autoindex_localtime on;    # //开启以服务器本地时区显示文件修改日期!

location = / {
allow 10.10.2.13;      ##location规则可以设置谁能下载谁不能下载。
deny all;
}

重启nginx生效。如上配置后,用IE访问该服务器的根目录,就会显示出/var/www/html目录下的所有文件列表。

 

通过htpasswd命令生成用户名及对应密码数据库文件

   htpasswd命令找不到可以: 

sudo apt-get install apache2-utils

  生成用户名密码对应文件:

root@rhel6u3-7 server]# htpasswd -c ./soft.pw chenlu    //创建认证信息,chenlu 为认证用户名
 
New password: *******  //输入认证密码
 
Re-type new password: ********  //再次输入认证密码
 
Adding password for user chenlu
    
[root@rhel6u3-7 ~]# cat ./soft.pw  //可以看到通过htpasswd生成的密码为加密格式
 
chenlu:$apr1$SMeDVtmH$H8uXEjIGV329v49O/9pCn/

编辑虚拟主机配置文件

server {
 
        listen  8093;
 
        server_name localhost;
 
        autoindex on;
 
        charset utf-8;
 
        root /data/download;
 
        location / {
            index  index.html index.htm;
            auth_basic "secret";
            auth_basic_user_file /data/service/nginx/conf/passwd/soft.pw;
        }
 
        error_page   500 502 503 504  /50x.html;
 
 
        location = /50x.html {
            root   html;
        }
}

 

将apache下的配置方法也记录一下!

代码如下:
Alias / ”/var/www/html”
< Directory ”/var/www/html” >
Options Indexes       # //开启目录列表索引模式
Order allow,deny
IndexOptions NameWidth = 25 Charset = UTF -8       # //设定文件名显示长度,文字字符编码
Allow from all
</ Directory >
posted @ 2017-06-27 13:58  GeminiMp  阅读(2181)  评论(0编辑  收藏  举报