我在使用 Squid 代理服务时经常遇到互联网断开的问题。
我的服务器配置;
OS: CentOS release 6.3 (Final)
model name : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
cpu MHz : 1600.000
My Local systems IP range:192.168.2.x
Server IP: 192.168.2.11
此外,此服务器配置了 lamp 以供开发、Samba SMB 文件服务管理器,目前没有 svn。所以我认为最大的可能性是这个 squid 代理,因为这是它停止连接的地方,而且我确信当我重新启动服务器时,网络开始工作,所以只有这个 squid 服务出了问题。
并且该服务器与本地另外 4 台 Windows 机器相连,基本上充当中央开发节点。
我可以通过在某个时间完全重新启动服务器或有时重新启动完全阻碍我们开发的 squid 代理来解决这个问题。
错误日志示例:
2013/07/01 13:25:38| tunnelConnectTimeout(): tunnelState->servers is NULL
2013/07/01 13:25:41| tunnelConnectTimeout(): tunnelState->servers is NULL
2013/07/01 13:25:41| tunnelConnectTimeout(): tunnelState->servers is NULL
2013/07/01 13:25:50| clientProcessRequest: Invalid Request
2013/07/01 13:26:05| tunnelConnectTimeout(): tunnelState->servers is NULL
一些帮助可以使我们的生活更轻松,提前感谢。
答案1
我怀疑您缺少连接是由于以下原因造成的:
2013/07/01 13:25:38| tunnelConnectTimeout(): tunnelState->servers is NULL
这基本上表明与上游服务器的连接超时了。
当问题发生时,尝试连接到 squid 服务器上的几个网站(lynx
如果可以,请使用浏览器,但在紧急情况下,您可以使用 telnet 到端口 80)并查看是否超时。如果没有,您可能在 squid 中发现了某种错误,但如果确实如此,则问题出在您的 squid 服务器的上游。同时注意 DNS 问题。
另外,请考虑增加转发超时时间forward_timeout
,特别是当您的上行连接通常很慢时。