从 Web 下载 EXE 时抛出 403 Forbidden nginx

从 Web 下载 EXE 时抛出 403 Forbidden nginx

我已将文件上传到我们网站的 /Downloads 文件夹下,该文件夹是我创建的。下载链接类似于:

样本下载链接

几周前下载时没有问题。我不知道发生了什么变化。

我现在收到(d)403 Forbidden nginx作为信息。我用过去时,因为我看到这个 SO文章。我实施了解决方案,错误发生了变化。我现在得到:

禁止

您无权访问此文档。

权限是文件,与 Web 服务器上的所有其他文件相同。Linux 位于后端,大概使用 Apache。

我与网络托管公司进行了交谈,但他们没有提供任何帮助。出于美观原因将文件名改为小写让我感到不快,删除扩展名.exe并说“problem solved删除”让我更加不快。他们既没有解释问题,也没有提供解决方案。

NGINX 显然是其中的一部分。这只是网络托管包的一部分,就像租车时收音机一样。不管你是否想要,你都会得到它,但 NGINX 不一定是问题所在。

下载及下载权限:

rwx r-x r-x

其他人添加了可执行权限,我想删除它,因为该文件应该只能下载,而不能在服务器上执行。几周前,网络主机支持技术人员不应该这样做。我暂时把它留在那里。

Plesk 控制面板

技术人员将以下内容添加到 Apache 和 nginx 设置区域。

进入两者Additional Directives for HTTP/HTTPS

<Location /shared/>
     Options +Indexes
</Location>

今天早上我很容易就找到了它In the Plesk panel, under the Apache & nginx settings for the domain. Checking the box: 'Serve static files directly by nginx'并在框中打勾,但现在我没有看到这个选项。

其余一切都是标准问题(我保留使用默认一词,因为索引文件框有一个洗衣清单,而不是默认检查。)。

有什么想法吗?

答案1

.exe 文件在配置文件中被禁止。请将其从禁止列表中删除。

  1. 编辑/etc/nginx/common/locations.conf

  2. 从列表中删除 exe

location ~* ^.+\.(asc|asp|aspx|ba|bak|bash|bat|bin|bz2|c|cfg|cgi|class|com|conf|cpp|crt|cs|dat|db|dbf|deb|der|dll|dmg|dmp|dump|ear|git|gz|h|hg|hqx|img|ini|iso|jar|jsp|log|mdb|msi|msm|msp|old|orig|original|out|pem|php#|php_bak|php~|pkg|pl|ppk|py|rar|rdf|rpm|run|save|sh|sql|srv|svn|swo|swp|sys|tar|taz|tcl|tgz|tk|tmp|tpl|tz|vb|war|wsf|z)$ {
    deny all;
    access_log off;
    log_not_found off;
}
  1. 跑步
systemctl restart nginx

相关内容