我正试图在我的网络主机(Namecheap(上安装一个Node.js Websocket服务器。然而,我得到了这个错误:
events.js:292
throw er; // Unhandled 'error' event
^
Error: Unexpected server response: 301
at ClientRequest.<anonymous> (D:****node_moduleswslibwebsocket.js:576:7)
at ClientRequest.emit (events.js:315:20)
at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:596:27)
at HTTPParser.parserOnHeadersComplete (_http_common.js:119:17)
at TLSSocket.socketOnData (_http_client.js:469:22)
at TLSSocket.emit (events.js:315:20)
at addChunk (_stream_readable.js:295:12)
at readableAddChunk (_stream_readable.js:271:9)
at TLSSocket.Readable.push (_stream_readable.js:212:10)
at TLSWrap.onStreamRead (internal/stream_base_commons.js:186:23)
Emitted 'error' event on WebSocket instance at:
at abortHandshake (D:****node_moduleswslibwebsocket.js:694:15)
at ClientRequest.<anonymous> (D:****node_moduleswslibwebsocket.js:576:7)
[... lines matching original stack trace ...]
at TLSSocket.Readable.push (_stream_readable.js:212:10)
客户端和服务器的代码来自这里:
https://github.com/websockets/ws#Simple服务器https://github.com/websockets/ws#sending-以及接收文本数据
ws://www.host.com/path
更改为ws://<mydomainname>/<dir1>/<dir2>
客户端和服务器代码在本地运行时都能正常运行。Http相关的代码在我的网络主机上使用时可以正常运行。我正在尝试让客户端代码在本地运行,并通过网络套接字连接到我在Namecheap托管的服务器。
我怀疑与服务器有关的东西正在阻止连接。我会请求支持,但我怀疑他们是否能解决这个问题。也许有一个锁定的功能或其他什么?还有什么我可能错过的吗?
Websockets无法在Namecheap的托管服务器上工作。根据客户支持,他们的传入端口被阻止,出于安全原因无法打开。
如果有人正在寻找一个以防万一的解决方案,试试Heroku免费账户。