搜尋

首頁  >  問答  >  主體

nginx目錄清單和目錄存取權限設定

在看ThinkPHP文件時,看到下面這段文字:為了避免某些伺服器開啟了目錄瀏覽權限後可以直接在瀏覽器輸入URL位址查看目錄,系統預設開啟了目錄安全文件機制,會在自動生成目錄的時候生成空白的index.html文件,當然安全文件的名稱可以設置,例如你想給安全文件定義為default.html可以在入口文件中添加。

我是比較討厭多餘的index.html,所以想直接關掉目錄瀏覽權限,那麼問題來了,在nginx怎麼關閉和開啟這個權限呢?

滿天的星座滿天的星座2753 天前662

全部回覆(1)我來回復

  • PHP中文网

    PHP中文网2017-05-16 17:23:50

    以下是我百度找到的答案:

    1.目錄列表(directory listing)

    nginx讓目錄中的檔案以列表的形式展現只需要一條指令

    autoindex on;

    autoindex可以放在location中,只對目前location的目錄起作用。你也可以將它放在server指令區塊則對整個網站都運作。或放到http指令區塊,則對所有網站都生效。

    下面是一個簡單的例子:

    server {
            listen   80;
            server_name  domain.com www.domain.com;
            access_log  /var/...........................;
            root   /path/to/root;
            location / {
                    index  index.php index.html index.htm;
            }
            location /somedir {
                   autoindex on;
            }
    }

    2.nginx禁止存取某個目錄

    跟Apache的Deny from all類似,nginx有deny all指令來實作。

    禁止對叫dirdeny目錄的存取並返回403 Forbidden,可以使用下面的配置:

    location /dirdeny {
          deny all;
          return 403;
    }

    回覆
    0
  • 取消回覆