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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM