我有这种情况:
客户端 -> URL 过滤 -> Squid -> 互联网
Squid 代理将所有客户端视为单个 IP(URL 过滤),因此我有很多来自单个 IP 的连接。Squid 是缓存上游代理。
在生产中,由于有大量连接(2000),客户端必须随机刷新页面才能查看某个站点(不是特定站点)。代理似乎随机拒绝连接。
如果我删除 url 过滤,就会导致这种情况:
客户端 -> 代理 -> 互联网
我没有遇到过这个问题,但是代理可以看到所有 IP 客户端并且连接针对每个 IP。
在 URL 过滤中,我看到了日志文件,其中有很多项目的代理没有响应。
我squid.conf
没有设置maxconn
或任何其他 IP 连接限制。
单个 IP 的连接是否有默认限制?
是否存在一些针对单个 IP 的 DDoS 预防措施来拒绝某些数据包?
代理服务器目前没有防火墙。
答案1
可以使用以下方法延迟来自特定客户端的连接延迟池使用 Squid。检查您是否延迟池squid.conf 中的标签。
如果你使用 netfilter/iptablessquid 机器上的防火墙,检查防火墙是否配置了连接限制模块。
其他不容忽视的可能性:squid 有时会崩溃,并自动重新启动,给人一种连接被阻止的感觉。查看您的 squid 日志(搜索缓存日志 日志档案在你的 squid.conf 中检查日志档案文件)。squid.conf 中的 squid 标签调试选项 ALL,2可以在您的日志中为您提供更多信息。
您使用什么 URL 过滤功能?