失败:WebSocket 握手期间出错:“Sec-WebSocket-Accept”标头值不正确

Posted

技术标签:

【中文标题】失败:WebSocket 握手期间出错:“Sec-WebSocket-Accept”标头值不正确【英文标题】:failed: Error during WebSocket handshake: Incorrect 'Sec-WebSocket-Accept' header value 【发布时间】:2017-03-04 19:12:22 【问题描述】:

我有一个关于 websocket 和 asp.net core 的问题。

我使用本教程(链接)构建了我的应用程序,当我从服务器上的远程桌面打开网页时,它适用于我的本地主机:'ws://localhost:1602/ws' 和服务器。 但是当我从我的电脑打开带有 URL 的网页时,它会显示这个错误:

WebSocket connection to 'ws://subdomain.domain.com/ws' failed: Error during WebSocket handshake: Incorrect 'Sec-WebSocket-Accept' header value.

我的意思是当我在 domainit 上打开网页时失败。

我在服务器上添加了 WebSocket,但错误仍然存​​在。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

这可能是由于代理问题。这正是Sec-WebSocket-Accept 标头的任务,当响应是来自代理的缓存响应时,防止将连接打开,因为只有真正的 WebSocket 服务器知道如何正确创建该标头。

切换到 HTTPS 和 WSS,问题可能会消失,因为代理无法缓存安全连接。

How html5 Web Sockets Interact With Proxy Servers

【讨论】:

以上是关于失败:WebSocket 握手期间出错:“Sec-WebSocket-Accept”标头值不正确的主要内容,如果未能解决你的问题,请参考以下文章

websocket失败:WebSocket握手期间出错:意外响应代码:400

使用 Maven,WebSocket 连接失败:WebSocket 握手期间出错:意外响应代码:404

WebSocket 连接到“ws://localhost:8080/”失败:WebSocket 握手期间出错:意外响应代码:404

HTML5 / PHP WebSocket 连接失败:WebSocket 握手期间出错:意外响应代码:200

WebSocket 连接到“ws://chattestarpit.herokuapp.com/”失败:WebSocket 握手期间出错:意外响应代码:503

ActionCable Rails 5 (Passenger) - 失败:WebSocket 握手期间出错:意外响应代码:404