我在这里遵循了这个例子 https://socket.io/get-started/chat
我现在正在尝试在生产服务器上运行它,但是遇到了麻烦
在我的ssh连接中,我正在执行节点index.js 我收到“正在监听*:3000”消息
然后,我尝试通过浏览器使用
访问index.htmlhttps://mywebsite/websocket/index.html 索引似乎正在查找/socket.io/socket.io.js文件,因此该部分应该没问题
但是在浏览器控制台中却出现此错误 socket.io.js:7 POST https://mywebsite.com/socket.io/?EIO=3&transport=polling&t=MNnvCry 404()
我在apache上并且已经激活了https 在我的ssh控制台中,我应该看到用户已连接,但我没有。
答案 0 :(得分:0)
我已经将socketio用于生产构建,并且遇到了类似的问题。
此问题通过在ssl conf文件中添加以下代码来解决。
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://localhost:3000%{REQUEST_URI} [P]
我在关闭virtualhost标记之前添加了它。