nginx配置目录列表访问权限-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

nginx配置目录列表访问权限

简介:

  我们知道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


本文转自SanMaoSpace博客园博客,原文链接:http://www.cnblogs.com/freeweb/p/6517802.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: