SignalR:WebSocket握手期间出错:意外响应代码:400

Ros*_*hah 13 websocket signalr

我刚开始使用SignalR.我使用signalr在我的网站上实现了实时数据反射.当尝试连接web-socket时,控制台上出现"Web-Socket握手期间出错:意外响应代码:400"错误.

应用程序是使用Asp.net MVC开发的 - signalR 2.0.3,托管在Windows Server 2012 - IIS 8上

我从这个链接找到了一个解决方案

它说我们需要网站指向HTTPS(并利用SSL),然后http才能使用网络套接字.我的问题也解决了.我的疑问是 - 我们不能在不使用HTTPS的情况下解决这个问题?因为每个网站可能不需要在HTTPS上托管(这需要SSL).

小智 31

在web.config文件中使用此标记:

<httpRuntime maxRequestLength="40960" targetFramework="4.5" requestValidationMode="2.0" />
Run Code Online (Sandbox Code Playgroud)

<system.web>标签下.描述你的目标框架.错误将消失

  • @DanielMinnaar,当然!因为微软. (11认同)
  • 这对我有用,但任何人都可以解释_why_? (3认同)

小智 6

我在使用 Angular 8 前端的 .Net Core Web API 中遇到了同样的问题。我的问题是服务器上未安装 Websocket 协议。从服务器管理器安装它 - >添加角色和功能并且它有效

在此输入图像描述


vto*_*ola 5

如果问题在于从客户端到服务器的路径中存在的代理,那么您只能向您的提供商(客户端和服务器)投诉。

HTML5 Web Sockets 如何与代理服务器交互

通过使用安全连接,您可以确保没有代理会干扰您的连接。