C# 信令HTTPS客户端

C# 信令HTTPS客户端,c#,signalr,internet-explorer-10,self-hosting,owin,C#,Signalr,Internet Explorer 10,Self Hosting,Owin,使用SignalR 0.53和OWIN的自托管,我能够让HTTPS客户端成功连接到非HTTPS本地主机端口 我现在已经升级到信号机1.1.2 我已启用跨域,并且已成功连接非HTTPS客户端。然而,现在看来HTTPS客户端将被阻止 注意:我还必须使用IE10。 这将出现在控制台中: SEC7111: HTTPS security is compromised by http://localhost:9100/signalr/hubs 将显示带有“信号器:协商请求期间出错:未定义”的警报 我该怎

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

我现在已经升级到信号机1.1.2

我已启用跨域,并且已成功连接非HTTPS客户端。然而,现在看来HTTPS客户端将被阻止

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

SEC7111: HTTPS security is compromised by http://localhost:9100/signalr/hubs 
将显示带有“信号器:协商请求期间出错:未定义”的警报


我该怎么补救呢

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

最终设法找到了修复方法。安全问题是一个转移视线的问题。在IE10的正常情况下,它将使用jsop并给出以下消息:

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

然而,对于这个特定的客户,这并没有发生。在连接时显式指定jsonp的使用修复了该问题

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

我已经在IE中启用了混合模式。这不是导致问题的原因。好吧,这就是SEC7111错误告诉你的。你不必相信我的话:。是的,我明白,我只是不明白为什么它在以前的设置中工作。我本以为启用混合模式就足够了,但显然不行。那么,你确定你专门为Intranet区域配置了它吗?是的,我已经配置了。作为一种解决方法,我将在HTTPS上托管集线器文件。谢谢