Websockets出现400,502,503错误

时间:2015-01-12 01:17:01

标签: javascript node.js websocket socket.io openshift

我正在使用Socket.io,Node.js和Openshift制作多人游戏。它工作了一段时间,但我做了一些小改动,现在与我改变的东西无关的东西已经坏了。当第二个玩家尝试加入游戏时,它会将所有人引导出去,对于访问该网站的任何其他人都会显示503错误。对于第二个玩家,我遇到了很多控制台错误,包括

WebSocket connection to 'ws://avalon-evao.rhcloud.com/socket.io/?EIO=3&transport=websocket&sid=d5smykffy4EWHxgIAAAC' failed: Error during WebSocket handshake: Unexpected response code: 400

http://avalon-evao.rhcloud.com/socket.io/?EIO=3&transport=polling&t=1421020862973-4&sid=d5smykffy4EWHxgIAAAC Failed to load resource: the server responded with a status of 502 (Bad Gateway)

http://avalon-evao.rhcloud.com/socket.io/?EIO=3&transport=polling&t=1421020865831-6&sid=d5smykffy4EWHxgIAAAC Failed to load resource: the server responded with a status of 503 (Service Unavailable)

socket.io-1.2.0.js:2 WebSocket connection to 'ws://avalon-evao.rhcloud.com/socket.io/?EIO=3&transport=websocket&sid=c-fwcJaMkp_9rl5CAAAA' failed: WebSocket is closed before the connection is established.

它在localhost中运行得很好,但真正的网站已经坏了。

这是我尝试过的:

  1. 使用HTTPS。我仍然以某种方式得到502错误。
  2. 使用rhc app restart
  3. 重新启动应用
  4. 使用rhc app force-stop rhc app start
  5. 重新启动应用
  6. 检查内存限制。我还没打到它。
  7. 使用{ secure: true }选项
  8. 安全地连接到websockets

    导致这些错误的原因是什么?如何解决?

2 个答案:

答案 0 :(得分:1)

尝试:
WS://...rhcloud.com:8000 / socket.io / ...
wss://...rhcloud.com:8443 / socket.io / ...

https://help.openshift.com/hc/en-us/articles/203263674-What-external-ports-are-available-on-OpenShift

答案 1 :(得分:0)

事实证明我正在查看错误的日志。当我弄清楚如何读取rhc的日志时,我在数据库中发现了一个错误。我在不删除数据库的情况下更改了集合的结构,因此存在不再存在的键的索引。删除了数据库,现在应用程序运行良好。