您的位置:首页 > 运维架构 > Nginx

nginx配置目录列表访问权限

2017-03-08 09:08 423 查看
  我们知道apache httpd默认情况下会显示访问目录的文件列表,但是nginx访问时如果目录下面没有默认首页,那么会返回403 Forbidden的错误,表示没有权限访问,比如根目录就是nginx安装目录下的html,下面有一个目录test2,那么默认情况就和如下配置完全等效:

location /test2 {
root html;
deny all;
return 403;
}


  这个配置就表示请求/test2时返回403,而nginx默认没有做任何重写或者其他拦截的时候,访问指定url会定位到相应的目录

  那么另外应该如何来显示目录列表呢,配置很简单只需要在location中加一行 autoindex on; 即可显示,这样默认显示的文件大小以字节为单位,并且时间和服务器时间相差8小时,所以一般应用中设置根据文件大小进行合适的显示,并且时间显示服务器时间,实际配置如下:

location /test2 {
root html;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}


  以上配置实际显示效果如下:

  


  现在目录列表显示就配置好了,并且这个目录下的所有目录都是有访问权限的,如果不想给权限,那么需要单独配置刚才的403拦截

  另外之前用rewrite映射到本地目录时默认不访问具体文件时也是返回403,这个也可以显示目录列表,比如目录/test3,配置如下:

location /test3 {
root /;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
rewrite ^/test3/(.*)$ /test3/$1 break;
}


  这样本地目录映射也可以显示文件列表了

  此文章参考自:http://blog.csdn.net/llnara/article/details/9613089
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: