Apache2 / Shibboleth TCP连接停留在CLOSE_WAIT中

我运行一个使用Shibboleth守护进程(shibd)作为联合authentication模块的Apache2服务器。 使用Shibboleth的某些服务器连接似乎永久保持CLOSE_WAIT状态。

tcp 38 0 blah.blah:57346 shib.server.:8443 CLOSE_WAIT tcp 38 0 blah.blah:45601 shib.server2:8443 CLOSE_WAIT tcp 38 0 blah.blah:41737 shib.server3:5057 CLOSE_WAIT 

从我可以发现,CLOSE_WAIT意味着当远程服务器断开,本地应用程序未能closures连接,因为它应该。 我怀疑shibd是有责任的。

不用说,如果有足够的CLOSE_WAIT连接累积,我有一个问题。

试图摆脱CLOSE_WAIT连接通过简单地使用

 /etc/init.d/networking restart 

不起作用。 事实上,networking似乎拒绝closures并重新启动,我得到一个SIOCADDRT:文件存在错误(即networking试图启动,而没有先停下来)。 与ifup -a相同的问题

所以我有两个问题 – 一个可能很容易,一个更难。

  1. 什么是强制networking重新启动,并强制任何连接卡在CLOSE_WAIT清除的好方法?
  2. 任何想法如何解决shibboleth和强制shibd模块的行为?

不幸的是,答案1是重新启动仍然具有连接引用的进程。 没有别的东西会强迫它close它们。