无法使用apache代理安装程序加载socket.io.js

无法使用apache代理安装程序加载socket.io.js,apache,node.js,socket.io,reverse-proxy,Apache,Node.js,Socket.io,Reverse Proxy,我觉得这个问题可能是重复的,但从我检查过的所有类似的线程中仍然找不到答案 我已将vhost设置为proxy/node/request-to-NodeJS/Socket.IO服务器 ProxyRequests On ProxyPass /node http://192.168.2.151:1337/ ProxyPassReverse /node http://192.168.2.151:1337/ 此设置成功地服务于Apache的所有内容,请求除外: 谈到NodeJS,一切都很好 我就是听不懂这

我觉得这个问题可能是重复的,但从我检查过的所有类似的线程中仍然找不到答案

我已将vhost设置为proxy/node/request-to-NodeJS/Socket.IO服务器

ProxyRequests On
ProxyPass /node http://192.168.2.151:1337/
ProxyPassReverse /node http://192.168.2.151:1337/
此设置成功地服务于Apache的所有内容,请求除外: 谈到NodeJS,一切都很好

我就是听不懂这句话:

<script src="/node/socket.io/socket.io.js"></script>

要加载socket.io.js,它总是会说出NodeJS服务器要说的话

设置:

html由Apache提供服务。 html是简单的html,带有用于加载socket.io.js的脚本标记(如我上面所写)。 当我请求加载脚本src但内容是NodeJS servers response而不是socket.io.js时

我在运行NodeJS服务器的目录中有“npm install socket.io”

我也尝试过用NodeJS提供index.html,不管怎样-socket.io.js内容仍然是NodeJS响应

有人有这个问题吗?或者能给我一个答案吗?:)


干杯

查看这个问题以及serverfault:中的所有答案

问题是,
mod_proxy
不支持WebSocket,只是将其作为HTTP请求。您可以使用不同的端口并避免代理、切换到Nginx、尝试haproxy或使用各种其他Apache模块替代方案。例如,
mod\u proxy\u wstunnel
基本上是
mod\u proxy
支持WebSockets。有关所有解决方案的详细信息,请参阅上面的serverfault链接