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 >
< Directory ”/var/www/html” >
Options Indexes # //开启目录列表索引模式
Order allow,deny
IndexOptions NameWidth = 25 Charset = UTF -8 # //设定文件名显示长度,文字字符编码
Allow from all
</ Directory >