您好!欢迎访问否玩代码!
广告位

403禁止访问?三分钟解决目录列表禁用报错

栏目: 日期: 浏览:110

头一回在浏览器当中瞅见“403 Forbidden – Directory Listing Denied”状况的好些人, 会觉着网站遭黑客攻击了。实际上这仅仅是服务器一侧的默认安全设定, 其意图在于避免访客径直浏览网站文件夹里头的全部文件。

然而要是你正处于搭建网站的进程中, 或者在上传资源的操作里, 亦或是处于调试环境的工作状态下, 这样的提示着实会让人感到厌烦。接下来直接给出解决的思路以及可用的代码, 依据场景去进行对号入座。

为什么会出现这个提示?

当用户去访问一个不存在默认首页比如未写 index.html 或 index.php 值的这样一个 directory, 之时, Nginx 或者 Apache 会因为安全原因考量拒绝展示文件列表, 返回 403 的状态码。这并非是错误, 而是一种保护机制。

场景一:你希望允许用户查看目录文件列表(不推荐生产环境)

如果你是搭建资源下载站或内部工具,可以临时放开限制。

Nginx 环境

将站点配置文件予以打开, 此文件一般处于 /etc/nginx/conf.d/ 或者 /etc/nginx/sites-available/ 这个位置范畴内, 于 server 块或者 location 块里增添如下内容:

location / {
    autoindex on;
}

然后重启 Nginx

sudo systemctl restart nginx

Apache 环境

去将那个.htaccess文件给打开, 或者着对虚拟主机配置弄一弄, 然后放上这么一句:

Options +Indexes

重启 Apache:

sudo systemctl restart httpd

场景二:你希望去掉 403,但也不需要文件列表

绝大多数正常的网站, 仅需一个默认首页, 于该特定目录之下, 去创建一个 index.html 或者 index.php 文件就行, 其内容可随意设置, 举例来说:

站点首页欢迎访问

浏览器会直接加载这个页面,不再触发目录列表检测。

场景三:Nginx 配置正确但仍然报 403

常见原因是目录权限不足。执行:

chmod 755 /你的网站目录
chown -R www-data:www-data /你的网站目录

要让 Nginx 可以正常去访问文件, 就得保证 Web 用户(通常是 www-data 或者 nobody)拥有读取权限。

一句话总结

需要文件列表 → 开 autoindex

不需要列表 → 放 index.html

配置正确还报错 → 检查目录权限

否玩代码编辑 https://www.fouwan.com