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;
    }

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

  nginx配置目录列表访问权限

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

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

nginx配置目录列表访问权限
    location /test3 {
        root /;
        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;
        rewrite ^/test3/(.*)$ /test3/$1 break;
    }
nginx配置目录列表访问权限

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

  此文章参考自:http://blog.****.net/llnara/article/details/9613089


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

上一篇:怎么给网站配置SSL证书(https)


下一篇:OpenSSL 项目路线图 【已翻译100%】(2/2)