![从 Web 下载 EXE 时抛出 403 Forbidden nginx](https://linux22.com/image/753363/%E4%BB%8E%20Web%20%E4%B8%8B%E8%BD%BD%20EXE%20%E6%97%B6%E6%8A%9B%E5%87%BA%20403%20Forbidden%20nginx.png)
我已将文件上传到我们网站的 /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 文件在配置文件中被禁止。请将其从禁止列表中删除。
编辑
/etc/nginx/common/locations.conf
从列表中删除 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;
}
- 跑步
systemctl restart nginx