在Netscalers上进行负载均衡时发生SignalR问题

时间:2018-06-15 22:08:45

标签: asp.net-mvc websocket signalr load-balancing

我们正在尝试在Citrix NetScaler上部署SignalR站点,而不是在单个服务器上部署当前部署。服务器场中有三台服务器。如果你导航到任何一台服务器,SignalR就可以了。如果你去NetScaler地址,你会得到这个:

  

WebSocket连接到   ' WSS://mysite.com/myapp/signalr/connect运输=&的WebSockets放大器; clientProtocol = 1.5&安培; connectionToken =(token_displayed_here)'   失败:WebSocket握手期间出错:net :: ERR_CONNECTION_RESET

在此错误之后,大约有10-15秒的延迟,然后它开始工作。如果我尝试禁用websockets,因为我已经读过Netscalers仍然有问题,但错误消失但延迟仍然存在。我认为延迟是由于它试图与ServerSentEvents连接而导致失败。似乎只有长轮询可能在NetScaler上工作。

我们检查了NetScaler websocket设置,确保服务器具有正确的机器密钥,设置了背板(尝试使用Redis和Oracle Nuget软件包作为我们的典型数据库),检查了OWIN版本和web.config设置,谷歌告诉我要做的所有东西,我可以找到,但仍然得到这个错误和延迟。我发现的一件事是,Netscalers遇到了wss的问题,但是还没有找到任何关于如何解释这个的问题。发现的大部分信息都是针对使用其他负载均衡技术的人。

使用SignalR(或更具体地说,WebSockets或ServerSentEvents)甚至可以使用NetScaler,如果是这样,可能导致此问题的原因是什么?

0 个答案:

没有答案