`

nginx autoindex-目录浏览功能

 
阅读更多

 

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.修改配置文件  

  1. server {
  2.         listen 80;
  3.         server_name localhost;
  4. # auth_basic "auth user";
  5.  # auth_basic_user_file /etc/nginx/htpasswd.conf;
  6.         #charset koi8-r;
  7.         #access_log logs/host.access.log main;
  8.         location / {
  9.             root /mnt/ ;
  10. # auth_basic "auth user";
  11. # auth_basic_user_file /etc/nginx/htpasswd.conf;
  12.             index index.php index.html index.htm;
  13. 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;

        }

  14.         }

就是location ~ ^/admin/.* {…} 保护admin目录下的所有文件。如果你只设了/admin/ 那么直接输入/admin/index.php还是可以访问并且运行的。

^/admin/.* 意为保护该目录下所有文件。当然,只需要一次认证。并不会每次请求或每请求一个文件都要认证一下。

 

分享到:
评论

相关推荐

    目录树美化,nginx-autoindex美化,文件浏览器

    nginx autoindex美化,目录树美化,linux文件浏览器,不同的实现方式和样式,多种选择

    [文件数据]AutoIndex 2.2.4 多国语言版_autoindex-2.2.4.zip

    1. **目录浏览**:它能够自动扫描指定的目录,并生成一个HTML索引页面,列出所有文件和子目录。用户可以通过这个页面直观地查看文件结构,点击链接即可访问或下载文件。 2. **自定义模板**:AutoIndex支持自定义...

    Nginx-Fancyindex-Theme-master

    "Nginx-Fancyindex-Theme-master"是一个针对Nginx的美化目录索引的主题项目,它的目的是让默认的目录列表展示更加吸引人且易于浏览。 默认情况下,当用户访问一个Nginx服务器上未经配置的目录时,Nginx会显示一个...

    nginx-1.9.15文件下载服务器

    以上配置创建了一个监听 80 端口的服务器,服务器名为 example.com,所有 /downloads/ 开头的请求会被导向 /var/www/downloads 目录,并开启自动索引,允许用户浏览和下载该目录下的文件。 **运维与监控** 1. **...

    在Nginx浏览器中打开目录浏览功能

    与Apache等其他服务器软件不同,Nginx默认并不启用目录浏览功能,即用户无法直接通过浏览器列出服务器上的目录内容。为了实现这一功能,需要手动修改Nginx的配置文件。 目录浏览功能允许用户在浏览器中直接查看...

    启用Nginx目录浏览功能的方法

    在了解以上知识点后,我们可以总结出,无论使用Apache还是Nginx,实现目录浏览功能主要涉及配置文件的具体指令。对于Nginx而言,通常只需要在配置文件中加入几行指令就可以启用目录浏览功能。而对于Apache,虽然指令...

    NGINX-1.9.15

    # 开启目录浏览 try_files $uri $uri/ =404; # 尝试找到文件,找不到则返回404 } } ``` 4. **保存并测试配置**:使用`sudo nginx -t`检查配置文件是否正确,没有错误的话,使用`sudo systemctl restart nginx`...

    Web应用安全:Nginx禁止目录列出配置.pptx

    Nginx默认情况下可能会开启"autoindex on"选项,这允许Nginx在用户请求一个目录而不是具体文件时,自动生成并显示该目录中的文件列表。这一功能在某些场景下是有用的,但如果没有适当的权限控制,它就成为了一个潜在...

    Nginx部署文件服务器文件名超长显示不全问题

    提供源码文件,直接覆盖就能生效,解决文件名超长显示不全问题

    在windows中对nginx的安装、配置和使用

    这些配置用于开启自动索引功能,允许用户浏览目录中的文件列表。 4. **虚拟主机配置**: Nginx支持通过虚拟主机来实现多个网站共存于同一台服务器上。例如: ```nginx server { listen 80; server_name ...

    Nginx添加ngx-fancyindex模块的方法

    `fancyindex_on`指令用于开启nginx目录浏览功能,`fancyindex_exact_size`用于控制文件大小的显示方式,`fancyindex_localtime`用于设置显示文件的修改时间为服务器本地时间,`fancyindex_footer`用于设置底部脚注,...

    应用—nginx基础部署详解

    9. **打开目录浏览功能配置** - 通过设置`autoindex`指令为`on`,Nginx可以在目录没有默认索引文件时列出目录内容。 10. **基于SSL提供HTTPS服务** - 配置Nginx支持HTTPS需要SSL证书和私钥,`listen`指令指定443...

    AutoIndex PHP Script (Directory Indexer)-开源

    1. **目录索引功能**:AutoIndex的核心功能是自动列出指定目录下的所有文件和子目录,以表格的形式展示,便于用户一目了然地查看整个目录结构。这种索引方式对于网站上的资源库或文档集合特别有用。 2. **搜索功能*...

    Web应用安全:Nginx禁止目录列出配置文本.docx

    要禁止目录列出,只需将`autoindex on`更改为`autoindex off`,阻止Nginx列出目录内容。这将大大减少目录遍历攻击的可能性。修改后的配置如下: ```nginx location / { autoindex off; } ``` 保存配置文件后,需...

    nginx1.9.4

    ` 指令,可以在目录路径下启用目录索引,方便浏览文件结构。 6. **错误日志和调试** - Nginx 的日志文件通常位于 `/var/log/nginx/`,包括 access.log(访问日志)和 error.log(错误日志),这对于诊断和调试问题...

    实战Nginx.取代Apache的高性能Web服务器.2010

    - **Nginx的自动列目录配置**:可以通过`autoindex`指令开启目录索引功能,方便用户浏览目录内容。 - **Nginx的浏览器本地缓存设置**:通过设置HTTP响应头中的`Cache-Control`和`Expires`字段,可以控制浏览器如何...

    AutoIndex v2.2.4 多国语言版.zip

    在AutoIndex的核心功能中,其目录列举能力是最重要的特性之一。它能够遍历指定的目录,将其中的HTML、图像、文档、视频等各种类型的文件以清晰的结构展示出来,使得用户可以直观地了解目录内容。此外,AutoIndex还能...

    nginx-config::gear:优化的nginx配置

    - **禁止目录浏览**: ```nginx index index.html index.htm; autoindex off; ``` - **防止DDoS攻击**:使用`limit_conn`和`limit_req`模块限制每个IP的并发连接数和请求速率。 **7. 监控与调试** 使用`nginx -t...

Global site tag (gtag.js) - Google Analytics