如何在Apache2.4.18和tomcat7上设置websocket?
目前,我已经成功安装了apache2.4.18,其中包含mod_proxy_wstunnel,并在另一台机器上安装了tomcat7。我已经在tomcat7上部署了大气示例应用程序。然后我可以去参观 我捕获了下面的浏览器。 此index.html是从中检索到的 然后我尝试在apache服务器中设置httpd.conf,如下所示。我没有使用任何与VirtualHost相关的配置。我只是将下面两行附加到这个httpd.conf文件的末尾如何在Apache2.4.18和tomcat7上设置websocket?,apache,websocket,apache2,tomcat7,mod-cluster,Apache,Websocket,Apache2,Tomcat7,Mod Cluster,目前,我已经成功安装了apache2.4.18,其中包含mod_proxy_wstunnel,并在另一台机器上安装了tomcat7。我已经在tomcat7上部署了大气示例应用程序。然后我可以去参观 我捕获了下面的浏览器。 此index.html是从中检索到的 然后我尝试在apache服务器中设置httpd.conf,如下所示。我没有使用任何与VirtualHost相关的配置。我只是将下面两行附加到这个httpd.conf文件的末尾 ProxyPass /ademo/ http:
ProxyPass /ademo/ http://tomcatserver.com:8080/ademo/
ProxyPassReverse /ademo/ http://tomcatserver.com:8080/ademo/
然后我重新启动httpd,并访问下面的url。
我捕获了下面的浏览器快照,我发现websocket不受支持。
所以我想知道如何修改这个httpd.conf来支持websocket?
我已经取消了对LoadModule proxy\u wstunnel\u module modules/mod\u proxy\u wstunnel的注释。因此
实际上,我计划设置多个后端服务器,所以我使用下面提到的配置。但是我仍然得到错误[Fri Jan 08 02:55:50.840362 2016][proxy:warn][pid 18446:tid 46971298007360][client 10.248.66.148:52033]AH01144:没有协议处理程序对URL/ademo/socket.html有效。如果您使用的是DSO版本的mod_proxy,请使用LoadModule确保配置中包含代理子模块。
我要确保的一件事是我已经在httpd.conf中设置了必要的模块
<Proxy balancer://mycluster>
# Define back-end servers:
# Server 1
BalancerMember ws://10.214.49.65:8080
# Server 2
BalancerMember ws://10.214.49.83:8080/
</Proxy>
ProxyPass /ademo balancer://mycluster/ademo
ProxyPassReverse /ademo balancer://mycluster/ademo
#定义后端服务器:
#服务器1
平衡器成员ws://10.214.49.65:8080
#服务器2
平衡器成员ws://10.214.49.83:8080/
ProxyPass/ademobalancer://mycluster/ademo
ProxyPassReverse/ademobalancer://mycluster/ademo
我想回答我自己的问题
我使用的httpd是从支持websocket的源代码2.4.18编译而来的。我发现编译过程是正常的,没有任何异常。我使用的redhat是Red Hat Enterprise Linux Server 5.9版(Tikanga)
我猜这是由于错误消息“没有有效的协议处理程序”。然后我尝试使用yum-get-installed切换到redhat 7.1。我执行了“yum install httpd”,它将自动安装httpd 2.4.5。我发现来自httpd和tomcat的websocket连接还可以
但目前我想解决Redhat5.x上的问题,因为将来我们将使用redhat的低版本。一般来说,由于编译过程正常,二进制文件也应该正常吗