从ssl上的浏览器访问localhost上运行的SignalR应用程序

时间:2018-01-31 20:09:46

标签: c# asp.net-mvc ssl https signalr

我有一个可以从我们的网站下载并在用户PC上运行的应用程序。

此应用程序提供我们的硬件和Web应用程序之间的连接。它使用SignalR进行通信。

基本上,我在WinForms应用程序下运行SignalR服务器并让javascript客户端尝试通过http://localhost:8084/signalR访问它。
当我使用HTTP版本的Web应用程序时,一切正常,但是当我将HTTPS用于我的Web应用程序时失败:

大多数浏览器都不允许来自安全页面的不安全连接。

所以,我的问题是如何在我的软件中包含自签名证书,在安装过程中在用户PC上安装证书,如何让浏览器不抱怨不安全的连接?

1 个答案:

答案 0 :(得分:0)

如果您在用户PC上运行SignalR服务器,则每个用户必须获取它启动的SignalR连接的证书。自签名证书将是内联网或开发的合理决定。它对互联网来说不够安全。另一个可能的问题是检索SignalR正在运行的机器的名称。证书附加到某些本地计算机(我可能错了),并且要连接到客户端的应用程序SignalR服务器,您需要知道他使用的计算机的名称。将SignalR服务器从客户端迁移到Web应用服务器将解决上述问题。