&引用;响应代码:502“;使用socket.io和nginx 1.4.x(稳定)和proxy_pass
我试图在nginx下运行我的应用程序(使用socket.io),但我获得了到“ws://…”的&引用;响应代码:502“;使用socket.io和nginx 1.4.x(稳定)和proxy_pass,nginx,Nginx,我试图在nginx下运行我的应用程序(使用socket.io),但我获得了到“ws://…”的WebSocket连接失败:服务器端出现意外响应代码:502错误。 我读到nginx从v.1.3开始就支持websockets,所以我只需要升级到nginxv1.4.1(稳定) 这是我的配置文件: server { listen 80; server_name website.com; location / { proxy_pass
WebSocket连接失败:服务器端出现意外响应代码:502
错误。
我读到nginx从v.1.3
开始就支持websockets,所以我只需要升级到nginxv1.4.1(稳定)
这是我的配置文件:
server {
listen 80;
server_name website.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
access_log /var/log/nginx/website/access.log;
error_log /var/log/nginx/website/error.log;
}
}
更新:
我必须说,我可以访问应用程序(因此我确实侦听端口3000),并且socket.io正在工作,除非出现此错误,但在某些情况下,emit
调用desn不会发送任何参数,因此我得到了未定义的
我在这里遗漏了什么来避免此错误?我找到了一些可以避免此错误的方法:
io.set('transports',['xhr-polling'])代码>
因此socket.io现在可以进行AJAX调用,它可以完成任务,但速度肯定要慢得多,所以如果有人掌握了这个问题的真正关键,我仍然非常感兴趣 我发现了一些可以避免此错误的方法:
io.set('transports',['xhr-polling'])代码>
因此socket.io现在可以进行AJAX调用,它可以完成任务,但速度肯定要慢得多,所以如果有人掌握了这个问题的真正关键,我仍然非常感兴趣 你的问题太模糊了。您是否在访问日志或错误日志中获得有关请求的任何信息?您的应用程序是否正在侦听端口3000?收到502让我觉得它没有运行。@sébastienRenauld感谢您的回复,我试图查阅我的访问/错误日志文件,但我的网站文件夹是空的。不过语法看起来不错…@Bart是的,我在同一个端口(v3.x)上使用socket.io和express,我可以访问应用程序,另外,socket.io也可以工作,但在某些情况下,我无法在我的emit
calls上传输任何参数。我在将节点放置在Nginx下时也会遇到同样的问题。首先,一些请求在到达节点时未定义其参数。最后,当我尝试从外部访问我的节点应用程序时,在整个Nginx中遇到了502错误。如果我有任何解决方案或只是解决了问题,我会把它贴在这里。你的问题太模糊了。您是否在访问日志或错误日志中获得有关请求的任何信息?您的应用程序是否正在侦听端口3000?收到502让我觉得它没有运行。@sébastienRenauld感谢您的回复,我试图查阅我的访问/错误日志文件,但我的网站文件夹是空的。不过语法看起来不错…@Bart是的,我在同一个端口(v3.x)上使用socket.io和express,我可以访问应用程序,另外,socket.io也可以工作,但在某些情况下,我无法在我的emit
calls上传输任何参数。我在将节点放置在Nginx下时也会遇到同样的问题。首先,一些请求在到达节点时未定义其参数。最后,当我尝试从外部访问我的节点应用程序时,在整个Nginx中遇到了502错误。如果我得到了任何解决方案或只是解决了问题,我会把它发布在这里。这个“修复”根本不使用web套接字。这个“修复”根本不使用web套接字。