0

我们在暂存环境中遇到了一个问题,SignalR 认为请求来自另一个域。因此,我们暂时启用了 CORS……但是,我们意识到我们被降级为长轮询,这意味着我们无法保持服务器关联。

我们正在使用 .NET 4 / SignalR 1.2.2,我们的请求通过 F5 负载均衡器。我们正在尝试调试此问题、获取日志并禁用 CORS 以获取确切的详细信息。我试图用“ http://domainname.com/signalr ”映射一个集线器,但它没有用。该应用程序启动时没有抱怨,但我无法再连接到信号器。由于我们使用的是 .NET 4,因此我们无法转而使用最新版本 / WebSockets。

指示 SignalR 允许一系列域的最佳方法是什么?(我也尝试过多次调用地图集线器,但都失败了)。

更新:

经过进一步调查,我意识到该应用程序可以在内部和外部访问。SignalR 似乎绑定到机器名称。因此,一切都在本地 url 上运行。但是,当我们从 F5 负载均衡器转发的外部域发出请求时,SignalR 认为这是一个跨站点请求......理论上在这种情况下并非如此。

这可能是F5问题吗?

有没有办法让 SignalR 在不降级到 longPolling 的情况下允许某些域?

4

1 回答 1

0

如果您已经实现了负载平衡,那么您必须在 SignalR 中实现横向扩展

看看SignalR 中的 ScaleOut 一种方法是使用 SQL Server 进行 ScaleOut:看看

于 2014-11-05T05:02:04.053 回答