我在 JBoss 上运行的 servlet 出现间歇性问题,Apache 通过 mod_proxy_ajp.so 转发所有请求。
有时,对于 REST 请求,我从 Apache 收到 503 错误。发生这种情况时,Apache error_log 中有以下内容:
[Mon Oct 12 09:10:19 2009] [error] (32)Broken pipe: ajp_ilink_send(): send failed
[Mon Oct 12 09:10:19 2009] [error] (32)Broken pipe: proxy: send failed to 127.0.0.1:8009 (localhost)
经过几次失败的尝试后,它又开始工作了。
我用谷歌搜索了一些,发现我不是唯一遇到这个问题的人。我找到的唯一解决方案是确保在 JBoss 之后启动 Apache(我在重新启动 JBoss 后重新启动 Apache)。
这个问题的奇怪之处在于这个 JBoss 中运行了其他 servlet,而我在那里没有问题。
servlet 基于 CXF JAX-RS。
阿帕奇是 2.2.6。