如何在 NGINX 上阻止整个服务器的 .git 文件夹?

如何在 NGINX 上阻止整个服务器的 .git 文件夹?

我有一个关于在 NGINX 系统上阻止整个服务器范围内的 .git 文件夹的问题。目前,我正在尝试使用 NGINX,实际上我使用的是 Apache。在 Apache 中,阻止整个服务器范围内的所有 .git 文件夹请求实际上没有问题。NGINX 是否也有设置?如果有,我需要把它放在哪里,还是我必须对服务器上托管的每个网站都这样做?

非常感谢大家,祝大家周末愉快。

答案1

您可能想要阻止任何级别上以点开头的所有位置,即、、.env等,并使其看起来根本没有这样的位置,而不是向潜在攻击者确认它的存在。.git.htaccess

location ~ /\. {
    return 404;
}

另一个选项是return 444;让 nginx 不发送任何东西,就好像服务器没有响应一样。

答案2

像这样的块location应该可以做你想做的事情:

location /.git {
  deny all;
}

这将返回 403 响应。

相关内容