如何配置我的 Apache Web 服务器,使其仅响应针对其域名而不是 IP 地址的请求?

如何配置我的 Apache Web 服务器,使其仅响应针对其域名而不是 IP 地址的请求?

我希望我的服务器在通过其 IP 地址访问时不提供主页。

这是为了防止蠕虫抓取网站。蠕虫会随机扫描 IP 地址,它们可能会发现该网站。如果该网站仅响应域名,那么大多数只扫描 IP 地址的蠕虫将无法到达该网站。

如何配置 Web 服务器以使其仅响应对域名的请求而不响应 IP 地址的请求?

答案1

你必须定义什么叫做包罗万象领域。

确切的配置取决于您使用的 Web 服务器类型和版本,例如在 Apache 2 上,它将通过定义_default_虚拟主机。

但想法始终是一样的:

  • 你可以定义多个虚拟主机(或根据你的 Web 服务器软件定义的等效主机),每个虚拟主机都与你处理的域名相匹配,
  • 您定义一个与任何其他域匹配的通用虚拟主机,并确保服务器的默认行为(拒绝连接、重定向到正确的默认 URL 等)。

一旦你知道了这个名字,“包罗万象的域名“,您应该可以毫无困难地查看您的 Web 服务器文档或在线操作指南来了解如何在您自己的环境中实现此功能。

答案2

ModSecurity可以为你做到这一点。它是一个作为 Apache/IIS/Nginx 模块运行的 Web 应用程序防火墙。DigitalOcian 编写了一个简单的入门指南适用于 Debian/Ubuntu。但根据您的发行版,软件包名称可能不同。例如,在基于 CentOS 的 Amazon Linux 上,它由 来安装sudo yum install mod_security mod_security_crsmod_security是模块本身,而mod_security_crs是一组核心规则。其中包括阻止基于 IP 的请求。其他的可以防止 SQL 注入等。

了解哪些规则有效是重中之重。您应该在启用 ModSecurity 的情况下浏览您的网站,以检查是否仍可进行所有用户操作。

相关内容