![如何根据每个IP处理的请求数在多个IP之间旋转一个squid用户](https://linux22.com/image/577033/%E5%A6%82%E4%BD%95%E6%A0%B9%E6%8D%AE%E6%AF%8F%E4%B8%AAIP%E5%A4%84%E7%90%86%E7%9A%84%E8%AF%B7%E6%B1%82%E6%95%B0%E5%9C%A8%E5%A4%9A%E4%B8%AAIP%E4%B9%8B%E9%97%B4%E6%97%8B%E8%BD%AC%E4%B8%80%E4%B8%AAsquid%E7%94%A8%E6%88%B7.png)
我想按以下方式设置 Squid ACL--
例如,我的 Squid 代理服务器有 10 个 IP 地址 - 现在我有一个用户“demouser”。我希望该用户向“demouser”发送的第一个请求使用 IP 地址 #1,第二个请求使用 IP 地址 #2,当天的第三个请求使用 IP 地址 #3,依此类推,直到用完所有 IP。我希望实现的另一个控制级别是,一旦用户每个地址的所有可用 IP 地址都用完一次,则不允许代理请求通过。
如何在 Squid 代理服务器 ACL 上设置这样的配置?
即使是一份文档或指南也会非常有帮助。官方 wiki 谈到了一个“奇怪”的情况 - 根据向代理服务器发出请求的时间选择 IP 地址。其他情况都是常规用例,与我上面指定的要求相差甚远。
答案1
Squid 不是为此设计的。在您的抓取工具中实现此逻辑,然后在 Squid 中设置 10 个用户和“tcp_outgoing_address”acl,将每个用户映射到一个传出地址。