加入收藏 | 设为首页 | 会员中心 | 我要投稿 莱芜站长网 (https://www.0634zz.com/)- 云连接、建站、智能边缘云、设备管理、大数据!
当前位置: 首页 > 运营中心 > Nginx > 正文

Nginx 禁止直接访问目录或文件的操作方法

发布时间:2023-02-17 12:37:46 所属栏目:Nginx 来源:互联网
导读:前言 Nginx 默认是不允许列出整个目录的。 如需此功能,打开 nginx.conf 文件或你要启用目录浏览虚拟主机的配置文件,在 location server 或 http 段中加入 autoindex on; 另外两个参数最好也加上去: autoindex_exact_size off; 默认为 on,显示出文件的确
  前言
  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;                   
  }

(编辑:莱芜站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读