热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nginx开放目录浏览功能并设置验证

Nginx默认是不允许列出整个目录的。如需此功能:__配置实例__location/{:autoindexon;}指导[#autoindexautoindex][#autoindex_exact_sizeautoindex_exact_size][#autoindex_localtimeautoindex_localt
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 
推荐阅读
  • 负载均衡_Nginx反向代理动静分离负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分
    nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
  • 构建LNMP架构平台
    LNMP架构的组成:Linux、Nginx、MySQL、PHP关于NginxNginx与apache的作用一样,都是为了搭建网站服务器,由俄罗斯人lgorsysoev开发,其特点是 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • .htaccess文件 ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
author-avatar
熊熊粉丝6888
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有