Azure Service Fabric上的Signalr问题:WebSocket握手期间出错

时间:2019-01-03 14:12:29

标签: azure signalr azure-service-fabric

我们正在使用Service Fabric托管我们的消息传递服务ASP.NET Core Web API(利用信号器),并将React Web应用程序作为客户端。一切都在本地计算机上完全按预期工作,但在Azure上却没有。由于服务和Web应用程序托管在不同的服务器上,因此我们已经为跨域处理配置了CORS策略。在负载均衡器中配置的粘性会话。此CORS政策可在本地计算机上使用,服务和客户端托管在不同的端口上。

在Azure上托管应用程序后,我在浏览器控制台中收到错误消息

  

WebSocket握手过程中的错误:意外的响应代码:500

1 个答案:

答案 0 :(得分:0)

该问题很可能是由于CORS而发生的。

查看您提供的屏幕截图,可能会看到CORS异常,并且您知道,调用SignalR服务的前端应用程序托管在不同的位置(域相同,但端口不同)。

您应用的CORS设置可能无效。

您有两种解决方案:

  • 在ASP.NET CORE中配置CORS,以便SignalR可以接受来自其他域的呼叫。
  • 同时在同一域和端口上托管以避免CORS