自动生成的集线器

时间:2018-09-06 10:53:36

标签: signalr

我有一个问题,我无法理解。在我们网站的某些页面上,我们使用SignalR。最近,一些客户,尤其是从公司代理/防火墙后面使用我们网站的客户,在SignalR页面上遇到问题。他们无法加载/ signalr / hubs脚本,并返回HTTP状态代码406。

例如,当我们的一位客户从云环境请求页面时,结果如下: HTTP status 406

如果我请求同一页面,则可以正常加载: HTTP status 200

我无法解释为什么会给出406状态代码,accept: */*accept-language应该能解决问题。我看到的唯一显着区别是第二张图片中的缓存已禁用。

必要的脚本按正确的顺序排列:

<script src='//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js' type='text/javascript'></script>
<script type="text/javascript" src="/Collectief/Scripts/jquery.signalR-2.2.0.min.js"></script>
<script type="text/javascript" src="/Collectief/signalr/hub"></script>

有人遇到过这个问题吗?如here所述,禁用自动生成的中心脚本并生成物理文件是否有帮助?

1 个答案:

答案 0 :(得分:0)

似乎/ Collectief / signalr / hub的呼叫从未到达我们的服务器,并且被客户端的公司防火墙阻止。他们有一个梭子鱼防火墙。似乎某些防火墙制造商(可能不仅仅是梭子鱼)已经更新了过滤器,现在正在阻止SignalR功能。

我们用物理文件替换了自动生成的/ signalr / hub来解决此问题,但随后协商调用将失败,并显示另一个406状态代码。

我们现在告诉客户更改防火墙设置:将我们的站点列入白名单或允许所有SignalR呼叫。