Apache 出现 75% 错误 404 响应

Apache 出现 75% 错误 404 响应

我在一家 ISP 工作,当用户信用为零时,所有 HTTP 请求都会 NAT 到我的网络服务器(Apache 2.2)进行付款。

如果用户的下载程序或自动更新程序正在运行,那么所有这些请求都会进入我的网络服务器,而此操作会导致 75% 的 Apache 响应为 404。

我想限制、缓存或丢弃这些请求数据包。有人有解决方案吗?在 Apache 或防火墙或路由器级别。

答案1

这个问题没有好的解决方案——Apache 需要处理请求才能显示“付款,傻瓜!”页面。任何阻止请求进入 Apache 的操作都必须在网络层进行,此时您的用户将不再获得强制门户页面,而是会打电话给您的帮助台大喊“它坏了!”

坦白说你不应该关心如果强制门户服务器正在消耗 CPU/RAM/其他资源——请将支付页面放在专用的盒子上,让它被攻击。攻击它的人都是懒汉,如果他们必须点击几次重新加载才能获得支付页面,那就这样吧。


此外,你的支付服务器可能不应该返回 404曾经-- 它应该为收到的任何请求提供支付页面服务,无论 URL 如何......

答案2

一些选择:

  • 使用 nginx 或其他带有 catch-all 配置的“轻量级”http 服务器

  • 对每个源 ip 使用基于 iptables 的速率限制 [google 关键词:iptables hashlimit] 并拒绝或静默丢弃不需要的请求百分比,仅传递少数请求。

相关内容