我将此Web应用程序托管在Glassfish服务器上,如果通过HTTP直接访问端口8080或通过HTTPS直接访问8181,则该工作正常。
在我的生产环境中,我们有一个通过Internet公开的前端Web服务器。 它是Apache httpd服务,它与RHEL服务器捆绑在一起。此Web服务器使用mod_jk模块将请求重定向到适当的后端应用程序服务器。所以我已经将我的Glassfish服务器配置为在端口xxx上侦听JKListener,并且Web服务器配置为将我的新Web应用程序的任何请求重定向到Glassfish JKListener。
起初看起来工作正常,重定向按预期发生。但很快我的Web应用程序停止响应,直到我重新启动Glassfish服务器才发生任何事情。
在挖掘mod_jk的日志时,我发现了以下错误 -
1 -
[info] ajp_send_request::jk_ajp_common.c [1234] (worker) all endpoints are dissconnected , detected by connect check [1], cping (0), send (0)
2 -
[info] jk_handler::mod_jk.c (2618): Service error=-3 for worker=worker1
[error] ajp_service::jk_ajp_common.c (2559): (worker1) connecting to tomcat failed.
[info] ajp_service::jk_ajp_common.c (2540): (worker1) sending request to tomcat failed
(recoverable), because of error during request sending (attempt=2)
[error] ajp_send_request::jk_ajp_common.c (1585): (worker1) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=111)
[info] ajp_connect_to_endpoint::jk_ajp_common.c (959): Failed opening socket to (A.B.C.D:xxx) (errno=111)
当一切似乎都正常工作时,第一个日志项也重复多次
在glassfish日志中没有任何可用的内容,下面是环境的详细信息
- 前端Web服务器: RHEL 4.5,Apache Httpd 2.0.57
- Web应用程序服务器:RHEL 5.4,glassfish 3.1.2.2
- Web应用程序 - 使用JSF 2.1,Primefaes 3.5,使用Primepush进行服务器发送事件
醇>
答案 0 :(得分:-1)
您是否将您的页面例外添加到虚拟主机?试试这个:http://www.codefactorycr.com/glassfish-behind-apache.html