nginx目录列表和目录访问权限设置

浏览:53日期:2022-07-10

问题描述

在看ThinkPHP文档时,看到下面这段文字:为了避免某些服务器开启了目录浏览权限后可以直接在浏览器输入URL地址查看目录,系统默认开启了目录安全文件机制,会在自动生成目录的时候生成空白的index.html文件,当然安全文件的名称可以设置,例如你想给安全文件定义为default.html可以在入口文件中添加。

我是比较讨厌多余的index.html,所以想直接关掉目录浏览权限,那么问题来了,在nginx怎样关闭和开启这个权限呢?

问题解答

回答1:

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

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

相关文章: