Apache 在 http 上突然变得很慢,而在 https 上却变得更快

Apache 在 http 上突然变得很慢,而在 https 上却变得更快

背景: 我在 ubuntu 上运行着 Apache 2。它的使用率很低,主要是通过移动应用程序访问 Web 服务 URL。在我安装 SSL 证书之前,它运行良好。我现在同时拥有 http 和 https。当我使用 https 访问服务器时,我会得到相当快的响应(但可能没有以前快)。当我使用 http 时,它非常慢。

我尝试过的:邮政:

  • curl localhost从主机获取信息并花费一些时间,这意味着没有路由问题。
  • 该服务器在 Amazon EC2 实例上运行,仅由我管理。

还:

  • 我发现 Apache 一旦运行,就会创建允许的最大进程数,而以前没有这种情况。我将 MaxClients 降低到 20,我认为我得到的响应速度更快了,但它仍然需要一分钟以上的时间,而且我始终有 MaxClients Apache 进程。
  • dmesg返回许多[ 1953.655703] TCP: Possible SYN flooding on port 80. Sending cookies.
  • 当我使用 netstat 时,我得到很多带有 的条目SYN_RECV。可能是 DDoS 攻击?
  • 从 EC2 的监控图中,我看到了自 2 天前以来“最大网络输入(字节)”一直处于高位的模式。顺便说一下,服务器仍在测试中,实际流量非常低且不稳定。
  • 我尝试过解决方案是使用限制传入连接iptables,仍然没有运气,但我正在尝试。

问题: 可能存在什么问题?这是 DDoS 攻击吗?

更新: 我讨论过这个问题这里。这确实是一次 DDoS 攻击;也讨论了一些解决方案。

答案1

下次,您可能想要使用类似apachetop或之类的东西tail -f /var/log/httpd/access_log来更好地了解正在发生的事情。您可能已经看到很多或请求进来,很可能具有可识别的模式:例如特定的 IP 范围,或相同的 URL,也许是对某些登录表单的暴力尝试等。如果 URL 请求在一定时间内达到足够高的水平,您甚至可能希望通过将这些 IP 范围放入 iptables 阻止规则来自动化此操作。

相关内容