gpt4 book ai didi

node.js - 尝试从内部羽毛配置socket.io

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:53 25 4
gpt4 key购买 nike

尝试从未安装在根目录的 nginx 后面提供feathersjs + socket.io。大多数feathersjs可以正确配置,但在尝试调用socket.io的路径配置时遇到问题,即http://socket.io/docs/server-api/#server#path(v:string):server

nginx 配置:

upstream socket_nodes {
ip_hash;
server localhost:19090 ;
}
server {
...
location /spx {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://socket_nodes;

# root html;
# index index.html index.htm;
}
}

和node.js代码:

var feathers = require('feathers');
var app = feathers();
app.configure(feathers.rest());
// Configure Socket.io real-time APIs
app.configure(feathers.socketio(function(io){
io.path('/spx/socket.io');
}));

...但是当浏览器点击 /spx/socket.io/socket.io.js 时我仍然收到 404 错误。

有什么想法吗?

最佳答案

正如评论中提到的,在 socketio.listen(server) 之后调用它时,io.path 似乎不起作用,这就是 Feathers 发生的情况。 feathers-socketiov1.3.3模块现在允许传递 options object它可以让你设置路径。虽然是为 Feathers 2 构建的,但它与 Feathers 1.x 配合得很好(而不是 feathers.socketio):

var feathers = require('feathers');
var socketio = require('feathers-socketio');
var app = feathers();

app.configure(feathers.rest());
// Configure Socket.io real-time APIs
app.configure(socketio({
path: '/spx/socket.io/'
}, function(io){
// Do other things here
}));

关于node.js - 尝试从内部羽毛配置socket.io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35454212/

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