Node.js Nodejs(sailsjs)、NGINX和sails.io(socket.io)
我正在使用NGINX来处理我的Nodejs服务器,现在我想开始在这些服务器上使用socket.io,在开始使用socket.io之前进行研究。我发现了Sailsjs,这是我逐渐发现的,现在正在使用 但我遇到的问题是,客户端无法通过socket.io或sails.io上的NGINX进行连接 这是我当前应用的URL路径: 作为标准,sails.io的url为: 现在! 通过使用FileSeek,我找到了sails.js使用“require”(“socket.io”)”的位置,它位于“loadSocketIO.js”(node\u modules\sails\lib\hooks\sockets\lib)中。我将文件编辑为:Node.js Nodejs(sailsjs)、NGINX和sails.io(socket.io),node.js,sockets,nginx,sails.js,Node.js,Sockets,Nginx,Sails.js,我正在使用NGINX来处理我的Nodejs服务器,现在我想开始在这些服务器上使用socket.io,在开始使用socket.io之前进行研究。我发现了Sailsjs,这是我逐渐发现的,现在正在使用 但我遇到的问题是,客户端无法通过socket.io或sails.io上的NGINX进行连接 这是我当前应用的URL路径: 作为标准,sails.io的url为: 现在! 通过使用FileSeek,我找到了sails.js使用“require”(“socket.io”)”的位置,它位于“loadSo
var io = sails.io = sails.ws =
SocketServer.listen(sails.hooks.http.server, {
resource: 'economy',
logger: {
info: function (){}
}
});
添加资源:'economy',行。
然后在客户端,我也做了同样的事情:
var socket = io.connect('https://localhost/economy/socket.io', { resource: 'economy' });
我一直在使用它,并尝试了不同的方法,比如“economy/socket.io”、完整的socket.io路径等等
任何帮助,都是很大的帮助
我已经挣扎了一天,所以我想我应该寻求一些帮助:)解决方案强> 按原样运行所有内容,唯一需要编辑的部分是NGINX 设置服务器名为economy.localhost/的服务器块,就完成了:)
请记住将economy.localhost链接到127.0.0.1,或者如果这是生产服务器,请设置一个cname:)您不需要更改Sails端的任何内容。尝试在Nginx中读取您的位置指令的proxy_pass 这是上述链接的摘录:
location /chat/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:1337;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
这个例子对我很有用
基本上,对于nginxwebsocket支持,您需要包括以下配置
server {
server_name app.domain.com;
location / {
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://localhost:8080;
}
}
@我会的。这就是为什么我写了我的答案。你能编辑一下@HeadCode吗。我想确认一下,我已经投了你一票。@csmu谢谢你,尽管我承认我不理解为什么我需要这么做。我按错了箭头。当我试图纠正它时,我被告知我的回答被锁定,除非对答案进行编辑。因此,我向你提出了一个问题。你能详细说明这个答案吗?我对nginx真的很陌生;您需要使用NGINX创建子域并将其转发到流。