Nginx默认是不允许列出整个目录的。
如需此功能:
__配置实例__
location / {
: autoindex on;
}
指导
[#autoindex autoindex]
[#autoindex_exact_size autoindex_exact_size]
[#autoindex_localtime autoindex_localtime]
Template:Anchor
autoindex
syntax: autoindex [ on|off ]
default: autoindex off
context: http, server, location
激活/关闭自动索引
Template:Anchor
autoindex_exact_size
syntax: autoindex_exact_size [ on|off ]
default: autoindex_exact_size on
context: http, server, location
设定索引时文件大小的单位(B,KB, MB 或 GB) Template:Anchor
autoindex_localtime
syntax: autoindex_localtime [ on|off ]
default: autoindex_localtime off
context: http, server, location
开启以本地时间来显示文件时间的功能。默认为关(GMT时间)
================================
如: 让/var/www/soft 这个目录在浏览器中完成列出.
一、设置目录浏览
1、打开/usr/local/nginx/conf/nginx.conf,找到WebServer配置处,加入以下内容:
location /soft/ {
root /var/www/; 此处为soft的上一级目录
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
2、保存退出,重启nginx服务即可。
[root@localhost Soft]#ps aux | grep -v grep | grep nginx | awk ‘{print $2}’ | xargs kill -9 #结束进程
[root@localhost Soft]#nginx #启动进程
访问你的站的:http://loalhost/soft,就可以列出目录了。
但是这样的话,别人也很容易看到你目录的内容,下面我们像Apache那样为目录加个访问验证。
二、设置访问验证
1、创建类htpasswd文件
[root@localhost Soft]#wget -c http://jafee.net/Soft/InstallPack/htpasswd.sh
[root@localhost Soft]#bash htpasswd.sh
提示输入用户名、密码、及认证文件名,脚本会自动生成认证文件,这里默认路径是保存在了/usr/local/nginx/conf 下,如果你的nginx目录不是这里,可以修改htpasswd.sh替换你的nginx目录。
我这里是:/usr/local/nginx/conf/test.conf #记下此路径
2、为Nginx添加auth认证配置
location ^~ /soft/
{
auth_basic “MyPath Authorized”;
auth_basic_user_file /usr/local/nginx/conf/test.conf; #这里写前面脚本返回的文件路径;
}
#”MyPath Authorized”为提示信息,可以自行修改。
3、修改好配置后,重启nginx,访问http://localhost/soft/ 就会提示输入用户名和密码,认证成功后,即可列出目录。
4、需要注意的是,加上认证之后该目录下的php文件将不会被解析,会让你下载,如果要使其能够解析php可以将上面的配置改为:
location ^~ /soft/ {
location ~ .*\.(php|php5)?$ {
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
auth_basic “Authorized users only”;
auth_basic_user_file /usr/local/nginx/conf/test.conf ;
}
来自:http://wiki.nginx.org/NginxNgxFancyIndex 和 http://www.huzs.net/?p=688
========================================
1.在配置文件中添加验证语句:
添加auth_basic "auth user" //名字任起
auth_basic_user_file /etc/nginx/htpasswd.conf //目录自己定
2.创建上面所定的目录/etc/nginx/htpasswd.conf
利用apache所带的密码生成工具htpasswd(密码必须是crypt加密的)
/usr/bin/htpasswd -nb user passwd
or
/usr/bin/htpasswd -c /etc/nginx/htpasswd.conf user
3.修改配置文件
- server {
- listen 80;
- server_name localhost;
- # auth_basic "auth user";
- # auth_basic_user_file /etc/nginx/htpasswd.conf;
- #charset koi8-r;
- #access_log logs/host.access.log main;
- location / {
- root /mnt/ ;
- # auth_basic "auth user";
- # auth_basic_user_file /etc/nginx/htpasswd.conf;
- index index.php index.html index.htm;
-
location ~ ^/admin/.* {
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
auth_basic "auth";
auth_basic_user_file /usr/local/nginx/conf/vhost/auth/admin.pass;
}
- }
就是location ~ ^/admin/.* {…} 保护admin目录下的所有文件。如果你只设了/admin/ 那么直接输入/admin/index.php还是可以访问并且运行的。
^/admin/.* 意为保护该目录下所有文件。当然,只需要一次认证。并不会每次请求或每请求一个文件都要认证一下。
相关推荐
nginx autoindex美化,目录树美化,linux文件浏览器,不同的实现方式和样式,多种选择
1. **目录浏览**:它能够自动扫描指定的目录,并生成一个HTML索引页面,列出所有文件和子目录。用户可以通过这个页面直观地查看文件结构,点击链接即可访问或下载文件。 2. **自定义模板**:AutoIndex支持自定义...
"Nginx-Fancyindex-Theme-master"是一个针对Nginx的美化目录索引的主题项目,它的目的是让默认的目录列表展示更加吸引人且易于浏览。 默认情况下,当用户访问一个Nginx服务器上未经配置的目录时,Nginx会显示一个...
以上配置创建了一个监听 80 端口的服务器,服务器名为 example.com,所有 /downloads/ 开头的请求会被导向 /var/www/downloads 目录,并开启自动索引,允许用户浏览和下载该目录下的文件。 **运维与监控** 1. **...
与Apache等其他服务器软件不同,Nginx默认并不启用目录浏览功能,即用户无法直接通过浏览器列出服务器上的目录内容。为了实现这一功能,需要手动修改Nginx的配置文件。 目录浏览功能允许用户在浏览器中直接查看...
在了解以上知识点后,我们可以总结出,无论使用Apache还是Nginx,实现目录浏览功能主要涉及配置文件的具体指令。对于Nginx而言,通常只需要在配置文件中加入几行指令就可以启用目录浏览功能。而对于Apache,虽然指令...
# 开启目录浏览 try_files $uri $uri/ =404; # 尝试找到文件,找不到则返回404 } } ``` 4. **保存并测试配置**:使用`sudo nginx -t`检查配置文件是否正确,没有错误的话,使用`sudo systemctl restart nginx`...
Nginx默认情况下可能会开启"autoindex on"选项,这允许Nginx在用户请求一个目录而不是具体文件时,自动生成并显示该目录中的文件列表。这一功能在某些场景下是有用的,但如果没有适当的权限控制,它就成为了一个潜在...
提供源码文件,直接覆盖就能生效,解决文件名超长显示不全问题
这些配置用于开启自动索引功能,允许用户浏览目录中的文件列表。 4. **虚拟主机配置**: Nginx支持通过虚拟主机来实现多个网站共存于同一台服务器上。例如: ```nginx server { listen 80; server_name ...
`fancyindex_on`指令用于开启nginx目录浏览功能,`fancyindex_exact_size`用于控制文件大小的显示方式,`fancyindex_localtime`用于设置显示文件的修改时间为服务器本地时间,`fancyindex_footer`用于设置底部脚注,...
9. **打开目录浏览功能配置** - 通过设置`autoindex`指令为`on`,Nginx可以在目录没有默认索引文件时列出目录内容。 10. **基于SSL提供HTTPS服务** - 配置Nginx支持HTTPS需要SSL证书和私钥,`listen`指令指定443...
1. **目录索引功能**:AutoIndex的核心功能是自动列出指定目录下的所有文件和子目录,以表格的形式展示,便于用户一目了然地查看整个目录结构。这种索引方式对于网站上的资源库或文档集合特别有用。 2. **搜索功能*...
要禁止目录列出,只需将`autoindex on`更改为`autoindex off`,阻止Nginx列出目录内容。这将大大减少目录遍历攻击的可能性。修改后的配置如下: ```nginx location / { autoindex off; } ``` 保存配置文件后,需...
` 指令,可以在目录路径下启用目录索引,方便浏览文件结构。 6. **错误日志和调试** - Nginx 的日志文件通常位于 `/var/log/nginx/`,包括 access.log(访问日志)和 error.log(错误日志),这对于诊断和调试问题...
- **Nginx的自动列目录配置**:可以通过`autoindex`指令开启目录索引功能,方便用户浏览目录内容。 - **Nginx的浏览器本地缓存设置**:通过设置HTTP响应头中的`Cache-Control`和`Expires`字段,可以控制浏览器如何...
在AutoIndex的核心功能中,其目录列举能力是最重要的特性之一。它能够遍历指定的目录,将其中的HTML、图像、文档、视频等各种类型的文件以清晰的结构展示出来,使得用户可以直观地了解目录内容。此外,AutoIndex还能...
- **禁止目录浏览**: ```nginx index index.html index.htm; autoindex off; ``` - **防止DDoS攻击**:使用`limit_conn`和`limit_req`模块限制每个IP的并发连接数和请求速率。 **7. 监控与调试** 使用`nginx -t...