我已经制作了一个侦听端口80的节点应用程序,我的应用程序在localhost上可以正常工作,但是当我在VPS上运行它时,我得到了不同的日志和不同的结果(websockets只是不起作用)

本地主机日志和VPS日志之间的比较:

Node's log on localhost

Node's log on VPS

如您所见,在VPS中,在显示“信息:传输端(套接字端)”后,将使用xhr代替websocket

我没有在VPS上使用任何Web服务器,而是以root用户身份运行了应用程序。

最佳答案

您是否在VPS上的节点应用程序前面运行Web服务器?如果是这样,请确保它足够新,并且已正确配置以执行websocket。例如,在现代Ubuntu上,现有的nginx还不足以支持Web套接字,因此您必须安装单独的软件包才能获得Websocket支持。

第二猜:浏览器和VPS之间是否有代理服务器?

关于node.js - 端口80上的Socket.io,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17479211/

10-12 17:13