防火墙请求认为您是另一台主机

防火墙请求认为您是另一台主机

我有点菜鸟,所以请忍耐一下。

我经常为了好玩而检查我的日志,我发现了许多(数千个)这样的错误:http://pastebin.com/i0iSKDCW

我遇到问题的服务器是 Burst.net VPS,我想知道我是否被分配了其他人的旧 IP,并且他们保留了他们的域名配置或类似的东西?

我想要做的是使用 iptables 或类似的东西来拒绝所有这样的请求(主机:eciou.net)而不让它们进入 Nginx(我在 Nginx 下运行了一些慢速软件)。

解决方案

正如下面优秀人士所建议的,我只是将其添加到我的配置文件中:

服务器 { 监听 [::]:80; 服务器名称 eciou.net; 位置 / { root /srv/http/static/eciou; 索引 index.html; } }

请注意,[::]:80 是因为我的服务器也设置为接受 IPv6。通常我认为 80 就够了。

答案1

是的,你很可能获得了一个之前用来托管的 IP易趣网领域。

不幸的是,没有简单的方法来过滤这样的请求iptables因为它运行在较低的 OSI 模型层上,并且它对主持人: ...HTTP 标头。

您可以在以下位置过滤此类请求nginx并阻止它们进入您的大型软件。这可以通过使用 $host 环境变量来实现:http://wiki.nginx.org/HttpCoreModule#.24host

这是一个简单示例,对该域的请求将返回 404:

if ($host ~* "eciou.net") {
    return 404;
}

答案2

我建议对所有这些请求都返回 404,因为...嗯,因为 404 表示“未找到”,而这确实在这里发生。

例如:

server {
  listen 80; # only port means "listen all interfaces"
  server_name eciou.net;
  log_not_found off; # if you do not want to log all these 404's
  root /srv/http/static/eciou;
  location / {}
}

在此设置中,Nginx 将在文件系统中搜索请求的文件。这没什么大不了的,但如果你担心的话,return 404会更有效(而不是root+ location

相关内容