我的 Web Socket 在本地主机和生产 ( https://www.example.com ) 环境中运行得非常好。
但是,当我将相同的代码部署到 pp 环境( https://pp.example.com )时,我得到 WebSocket 握手:意外的响应代码:404
我有 AWS 证书管理器为域 example.com 生成的证书,以及附加域名 www.example.com 和 pp.example.com
www.example.com 和 pp.example.com 位于不同的服务器上,因此它们具有不同的 IP 地址。
当我访问 www.example.com 并调用以下电话时,
let ws = new WebSocket("wss://www.example.com/ws");
它工作得很好。网络套接字已连接。
但是,当我切换到 pp.example.com 并进行以下调用时
let ws = new WebSocket("wss://pp.example.com/ws");
我从 Safari、Firefox 和 Chrome 收到错误:
WebSocket connection to 'wss://pp.example.com/ws' failed: Error during WebSocket handshake: Unexpected response code: 404
有什么想法吗?
代码完全相同。
它们部署在 aws beanstalk 上。
生产环境使用全局加速器+应用负载均衡器+EC2
pp环境使用经典负载均衡器+EC2
最佳答案
关于javascript - Web 套接字连接无法通过 SSL 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61522899/