套接字 io 不能与 https 一起工作;切换回轮询
socket io not working with https ;switching back to polling
我在 Elastic Bean Stalk 中有 Node.JS 应用程序 运行。我设置了 Elastic Load Balancer 并在其中设置了 SSL。
我在 Node.JS 中做了 socket.io。由于 Nginx 配置,我无法访问它。我使用 .ebextensions 修复了它们。
现在,当我使用我的 HTTP URL 访问我的套接字 io 时,它运行良好并且它本身使用 WebSocket 协议。但是当我使用 HTTPS 时,它会切换回轮询。我该如何解决这个问题?
我必须做一些配置才能使其在 HTTPS 中工作吗?
更新:添加 {transports: ['websocket'], upgrade: false} 后,它只发送 websokcet 请求。但我仍然收到错误
WebSocket connection to 'wss://myurl.ca/socket.io/?EIO=3&transport=websocket' failed: WebSocket is closed before the connection is established.
问题是 certificates.HTTPS 为 www.myurl.ca 设置了证书。并且 websocket 调用没有 www 。只是 wss://myurl.ca.
这是一个小问题 mistake.But 将证书更改为 myurl.ca 解决了问题。
我在 Elastic Bean Stalk 中有 Node.JS 应用程序 运行。我设置了 Elastic Load Balancer 并在其中设置了 SSL。
我在 Node.JS 中做了 socket.io。由于 Nginx 配置,我无法访问它。我使用 .ebextensions 修复了它们。
现在,当我使用我的 HTTP URL 访问我的套接字 io 时,它运行良好并且它本身使用 WebSocket 协议。但是当我使用 HTTPS 时,它会切换回轮询。我该如何解决这个问题?
我必须做一些配置才能使其在 HTTPS 中工作吗?
更新:添加 {transports: ['websocket'], upgrade: false} 后,它只发送 websokcet 请求。但我仍然收到错误
WebSocket connection to 'wss://myurl.ca/socket.io/?EIO=3&transport=websocket' failed: WebSocket is closed before the connection is established.
问题是 certificates.HTTPS 为 www.myurl.ca 设置了证书。并且 websocket 调用没有 www 。只是 wss://myurl.ca.
这是一个小问题 mistake.But 将证书更改为 myurl.ca 解决了问题。