SignalR HTTPS client

本文关键字:client HTTPS SignalR | 更新日期: 2023-09-27 18:23:53

使用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:协商请求期间出错:未定义"。

我该如何补救?

SignalR HTTPS client

这只是标准的混合模式连接阻塞。当你在一个HTTPS页面上时,它的所有资源都应该是HTTPS,否则你可能会被欺骗,即使你认为自己在一个安全的页面上,也会被欺骗发送数据。因此,浏览器(至少IE)通过不允许这种形式的混合模式通信来保护您。如果您的页面是HTTPS,那么SignalR连接也需要是HTTPS。

最终设法找到了修复程序。安全问题只是转移注意力。在IE10上的正常情况下,它将使用jsop并给出以下消息:

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

然而,对于这个特定的客户,这并没有发生。在连接时明确指定使用jsonp解决了这个问题。

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