Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Apache2.4.18和tomcat7上设置websocket?_Apache_Websocket_Apache2_Tomcat7_Mod Cluster - Fatal编程技术网

如何在Apache2.4.18和tomcat7上设置websocket?

如何在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:

目前,我已经成功安装了apache2.4.18,其中包含mod_proxy_wstunnel,并在另一台机器上安装了tomcat7。我已经在tomcat7上部署了大气示例应用程序。然后我可以去参观

我捕获了下面的浏览器。

此index.html是从中检索到的

然后我尝试在apache服务器中设置httpd.conf,如下所示。我没有使用任何与VirtualHost相关的配置。我只是将下面两行附加到这个httpd.conf文件的末尾

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的低版本。一般来说,由于编译过程正常,二进制文件也应该正常吗