SignalR HTTPS客户端

时间:2013-07-19 15:47:11

标签: c# signalr internet-explorer-10 self-hosting owin

使用SignalR 0.53和OWIN自托管,我能够将HTTPS客户端成功连接到非HTTPS本地主机端口。

我现在升级到SignalR 1.1.2。

我已启用跨域已成功连接非HTTPS客户端。但是,现在似乎将阻止HTTPS客户端。

注意:我还必须使用IE10。 这将显示在控制台中:

SEC7111: HTTPS security is compromised by http://localhost:9100/signalr/hubs 

显示“SignalR:在协商请求期间出错:未定义”的警报。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

这只是标准mixed-mode连接阻止。当您使用HTTPS页面时,其中的所有资源都应该是HTTPS,否则即使您认为自己位于安全页面上,也可能被欺骗以明确方式发送数据。所以浏览器(IE至少)通过不允许这种形式的混合模式通信来保护您。如果您的页面是HTTPS,您的SignalR连接也需要是HTTPS。

答案 1 :(得分:0)

管理最终找到修复程序。安全问题是一个红色的鲱鱼。在IE10的正常情况下,它将使用jsop并给出此消息:

“SignalR:使用jsonp,因为此浏览器不支持CORS”

然而,对于这个特殊的客户,这种情况并没有发生。在连接时明确指定使用jsonp修复了问题。

$.connection.hub.start({ jsonp : true },function () { ...