使用Edge(带有Cordova),信号器和OWIN自主机进行HTTPS连接时出现问题

时间:2019-02-12 11:15:04

标签: cordova ssl https signalr microsoft-edge

长期阅读者,第一次海报...

TL:DR摘要:

我们有一个Windows服务,在OWIN自主机上运行SignalR服务器。 我们有一个运行SingalR JS客户端的Cordova应用程序。 通过HTTP连接时,一切正常。

但是,当我们切换到使用具有自签名证书的HTTPS时,我们会收到通用的SignalR消息“协商期间错误”。错误消息没有更多详细信息。在Chrome上仍然可以正常使用。

使用自签名证书的Edge和SignalR是否存在问题?

-

服务器端详细信息:

我们在仅限于.NET Framework 4.5的现场嵌入式Windows 8服务器上运行服务器。我们正在使用Microsoft.Owin v2.1.0和Microsoft.AspNet.SignalR.Core(&.SelfHost)v2.4.0。服务器已启用TLS1.1。

已在服务器上为我们的SSL端口保留了URLACL,证书已分配给该端口。

已尝试使用IIS和openSSL自签名证书。证书已移至受信任的根证书中。

我们还尝试使用NGINX作为代理服务器。结果相同。

客户详细信息:

用例是客户端和服务器位于同一网络上,我们不能保证两者都可以访问Internet。

我们正在使用Cordova制作跨平台应用程序。这是使用SignalR JavaScript客户端。通过HTTP一切正常。 Chrome浏览器和android应用(将Chrome浏览器用作前端)可以与HTTPS完美配合。边缘浏览器和Windows应用程序(利用边缘浏览器作为前端)无法在HTTPS上运行。

有趣的是,signaler会生成一个自动生成的集线器js页面,我可以使用自签名证书通过Chrome或Edge浏览器通过HTTPS成功访问该页面。

有人对我做错了什么或什么可能导致Edge中的此问题有任何提示吗?

1 个答案:

答案 0 :(得分:0)

总而言之,为了使用Cordova插件访问本机代码以实现TCP套接字而放弃了它。这样,我们就可以更好地控制证书。

相关问题