Javascript Websocket 侦听端口 80



我在端口80部署了一个Web服务器,Websocket在其javascript中运行。

var wsURL = ws://localhost:80/ws"
wsConn = new WebSocket(wsURL);

但是我不断收到此错误:

WebSocket 连接到"ws://localhost/ws"失败:连接建立时出错:net::ERR_CONNECTION_REFUSED

当我使用80以外的端口在本地运行它时,我没有问题,但在生产中我需要使用端口80并不断收到此错误。

无论如何,我可以WebSocket端口80工作吗?

使用 window.location.hostname 将清除您在生产环境中遇到的任何 URL 差异。在 url 中使用 localhost 将导致对用户的本地计算机(而不是生产服务器)发出 ws 请求。因此,您的连接被拒绝。

注意 此方法仅适用于客户端由同一 WebSocket 服务器直接提供服务的情况,如果服务器完全不同,则需要一种方法来获取 WebSocket 服务器的确切 URL。 --很可能是从后端(为前端提供服务)到 WebSocket 服务器的某种类型的重定向/转发/代理。

WebSocket 由 HTTP 请求初始化,ws 协议默认使用端口 80。

ERR_CONNECTION_REFUSED意味着您没有侦听此端口,则需要检查您的 Web 服务器配置或日志。

在Linux/OSX上,你必须使用root用户来监听端口<1024来启动你的程序,之后可以使用setuid()来删除root权限。

相关内容

  • 没有找到相关文章

最新更新