【问题标题】:Limit Apache Proxy upload speed per connection/ip?限制每个连接/ip 的 Apache 代理上传速度?
【发布时间】:2011-07-11 18:18:02
【问题描述】:

我查看了 mod_bandwidth 和 mod_cban,但它们似乎不能满足我的要求。

我正在使用 apache 2.2(mod_proxy、proxy_http、proxy_connect)运行代理服务器。

我想限制“客户端的上传速度”。

这同时是服务器下载带宽,应该没有限制。

我希望每个连接都获得它,甚至每个 IP 更好。

为了便于理解:用例是我不希望坏人使用我的代理服务器将坏数据上传到坏地方来“掩盖”自己。当然,我有日志和一切,但我想避免麻烦并首先让它没有吸引力。

为了更好地理解这里是我的设置图片:

当然红色箭头也可以指向左上箭头。

我目前正在考虑在不同端口上的同一台服务器上启动 apache 两次,并使用 ProxyRemote 将请求发送到另一个代理。因此,在第二个代理上,我可以将 localhost 从限制中排除。但是,我仍然需要一种解决方案来限制传入但不传出的带宽。我可以通过 IPtables 实现这一点。

但是说实话?一定会有更好的办法。只是必须。

【问题讨论】:

  • 您是否考虑过在您的 Apache 前面放置一个 Squid 服务器?我认为这是相对轻量级和无痛的。 delay pools 功能似乎正是您想要的。

标签: apache proxy limit bandwidth


【解决方案1】:

安装mod_bw

在您的虚拟主机中添加:

BandWidthModule On
ForceBandWidthModule On
BandWidth 192.168.0.0/24 0  
BandWidth all 80000

192.168.0.0/24 0 应该是您的 IP 和子网规则。 0 表示它获得 0 节流(本地用户获得全速,您可以将其扩展为执行国家、大学等任何事情)。 BandWidth all 80000 表示其他所有人都被限制为 80 000 字节/秒。

Source.

【讨论】:

  • 问题是在这种代理情况下,两个方向的速度都受到限制
  • @JoeHopfgartner 您也可以在 linux 中使用 iptables,但对于另一方来说,这是更多的服务器管理问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-11
  • 1970-01-01
  • 2021-03-24
  • 2011-09-10
  • 1970-01-01
  • 1970-01-01
  • 2014-07-21
相关资源
最近更新 更多