我已经制作了一个侦听端口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/