防止人们通过输入我的服务器 IP 访问他们不应该看到的网站(Debian 上的 Apache)

防止人们通过输入我的服务器 IP 访问他们不应该看到的网站(Debian 上的 Apache)

我有一个在 Debian 8 上运行的 Apache 服务器。我已经成功配置了我的域、虚拟主机和 letsencrypt,但我找不到以下问题的好解决方案。

我的相关文件夹如下所示:

服务器端文件夹视图/SCP 工具

当我在浏览器中浏览我的服务器 IP 时,我得到一个概览(/的索引),如下图所示:

网络浏览器中的文件夹视图

我不希望人们通过浏览我的 IP 地址看到这些内容。如果人们通过域名浏览,他们会被转发到具有虚拟主机的正确文件夹,所以这是可行的。现在我可以将一个空的 index.html 放入父文件夹中。但是,人们仍然无法浏览 IP/webalizer/,然后他们就可以看到他们本不应该看到的网站统计信息。

解决我的问题的最佳方法是什么?

答案1

有很多方法可以解决这个问题,包括:

  • 更改DocumentRoot默认主机的位置(不确定为什么会这样/var/www- 通常如此/var/www/html)。
  • 为 设置 IP 和/或密码限制/var/www
  • 为默认主机设置重定向。

答案2

当我在浏览器中浏览我的服务器 IP 时,我得到一个概览 (/的索引)[.] 我不希望人们通过浏览我的 IP 地址看到这个。

这是 的一个用例Options,具体Options -Indexes例如:

<Directory /var/www>
    Options -Indexes
</Directory>

403 Forbidden当访问指定目录或任何子目录时,这将返回一个(假设没有 egindex.html或您没有直接访问命名文件 eg some-page.html)。您可以将此<Directory>语句(或前任。 Options -Indexes) 无论您DocumentRoot在哪里定义了/var/www。但请注意,这可能会在其他地方被覆盖。因此,虽然这可能是“规范”解决方案,但它可能不是最好的解决方案。

现在我可以将一个空的 index.html 放入父文件夹中。但是,人们仍然可以浏览IP/webalizer/,然后他们就可以看到他们本不应该看到的网站统计信息。

正如该问题的另一个答案中提到的,真正的答案就是不要将其放在Webalizer可通过 Web 访问的文件夹中(即,/var/www如果您将其用作主 Apache,则不要将DocumentRoot其放在该文件夹中)。如果您想轻松查看统计数据,您可以将这些统计数据放在只能通过例如localhost或内部网络 IP 地址访问的文件夹中。如果您要通过网络访问它,那么该目录应该使用验证

相关内容