您的位置:首頁技術文章
文章詳情頁

Nginx 禁止直接訪問目錄或文件的操作方法

瀏覽:174日期:2023-03-13 15:37:24
目錄
  • 前言
  • 第一種:autoindex 配置
    • 一級目錄或整個虛擬主機開啟目錄流量
    • 單獨目錄開啟目錄流量
    • 二級目錄開啟目錄流量
    • 虛擬目錄開啟目錄流量
  • 第二種:nginx location 配置
    • 一、禁止訪問某些后綴文件
    • 二、禁止訪問目錄或目錄下文件
    • 三、禁止訪問某個目錄下的指定文件后綴文件
  • 四、nginx location 匹配相關
    • 五、nginx 配置圖片直接下載不打開

      前言

      Nginx 默認是不允許列出整個目錄的。

      如需此功能,打開 nginx.conf 文件或你要啟用目錄瀏覽虛擬主機的配置文件,在 location server 或 http 段中加入

      autoindex on;

      另外兩個參數最好也加上去:

      autoindex_exact_size off;

      默認為 on,顯示出文件的確切大小,單位是 bytes。

      改為 off 后,顯示出文件的大概大小,單位是 KB 或者 MB 或者 GB

      autoindex_localtime on;

      默認為 off ,顯示的文件時間為 GMT 時間。

      改為 on 后,顯示的文件時間為文件的服務器時間。

      第一種:autoindex 配置

      一級目錄或整個虛擬主機開啟目錄流量

      在 nginx.conf 文件 中 server 段添加

      location / {
        autoindex on;
        autoindex_localtime on; #之類的參數寫這里
      }

      單獨目錄開啟目錄流量

      二級目錄開啟目錄流量

      location /down/ {
        autoindex on;
      }

      虛擬目錄開啟目錄流量

      location /down/ {
        alias /home/wwwroot/test/;
        autoindex on;
      }

      第二種:nginx location 配置

      一、禁止訪問某些后綴文件

      location ~ \.(ini|conf|txt)$ {
          deny all;
      }

      二、禁止訪問目錄或目錄下文件

      #禁止訪問目錄
      location ^~ /test/ {
          deny all;
      }
      #禁止訪問目錄下文件
      location ^~ /test {
          deny all;
      }

      三、禁止訪問某個目錄下的指定文件后綴文件

      # 禁止訪問某個目錄下的 php 后綴文件
      location /directory {
          location ~ .*\.(php)?$ {
          deny all;
          }
      }
      # 禁止訪問多個目錄下的 php 后綴文件
      location ~* ^/(directory1|directory2)/.*\.(php)${
          deny all;
      }

      四、nginx location 匹配相關

      • = 表示精確匹配
      • ^~ 表示 uri 以某個字符串開頭
      • ~ 正則匹配(區分大小寫)
      • ~* 正則匹配(不區分大小寫) !和!*分別為區分大小寫不匹配及不區分大小寫不匹配的正則
      • / 任何請求都會匹配
      • 匹配優先級: = > ^~ > /

      五、nginx 配置圖片直接下載不打開

      location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
          add_header Content-Disposition attachment;   
      }

      到此這篇關于Nginx 禁止直接訪問目錄或文件的方法的文章就介紹到這了,更多相關nginx 禁止直接訪問目錄內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

      標簽: Nginx
      国产综合久久一区二区三区