gpt4 book ai didi

node.js - 从 Socket.IO 中删除端口并更改目录

转载 作者:搜寻专家 更新时间:2023-10-31 22:35:28 24 4
gpt4 key购买 nike

在 Ubuntu 15.04 上使用 Apache 我试图有效地从 URL 中删除端口 3000 并将路径更改为 http://example.com/{app}/socket.io...

使用 ProxyPass 和 ProxyPassReverse,我有效地从 URL 中删除了端口,并相应地更新服务器和客户端以更改路径。

虚拟主机更改:

ProxyPass /path/ http://example.com:3000/path/
ProxyPassReverse /path/ http://example.com:3000/path/

我所做的服务器端更改如下:

var io = require('socket.io')(http, {path: '/path/socket.io' });
app.get('/path/', function(req, res){

我对客户端所做的更改如下:

var socket = io({path: '/path/'});

在我打开控制台日志并在使用 chrome 时看到大量 GET 请求之前,一切似乎都运行得很顺利。这肯定会耗尽我的带宽,我想我不知何故未能正确收听套接字,这导致了大量的 GET 请求。

有人可以就我可能做错的地方提供一些指导吗?

最佳答案

您看到大量请求,因为 socket.io 正在回退到长轮询,因为 Apache 没有代理 websocket 连接,您需要使用

mod_proxy_wstunnel 

然后添加

ProxyPass "/path/socker.io"  "ws://localhost:3000/"

关于node.js - 从 Socket.IO 中删除端口并更改目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32569933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com