通过安全(https)互联网网站内的http与LAN设备进行通信

时间:2015-06-16 11:00:12

标签: javascript security https

我在本地网络中有一个设备,它通过http使用API​​提供数据。 以及托管在安全(ssl,https)互联网Web服务器上的Web应用程序。

由于通过https访问Web应用程序,因此无法通过http直接向设备执行ajax调用。

考虑了两个解决方法,但有兴趣看看我是否遗漏了一些东西:

选项1 - Flash - 写入闪存组件,通过http与设备进行通信。因为浏览器不限制闪存只能保护通信。 此选项的缺点是使用该站点的任何人都必须安装闪存。

选项2 - 新窗口 - 使用' window.open'打开一个新窗口。命令,并通过参数(similar to this SO)传递html +脚本。 此窗口被认为是非安全的,可以通过http与设备通信。 此选项的缺点是用户丢失了应用程序的上下文,弹出窗口阻止程序可能会阻止新窗口。

我还有其他选择吗? (遗憾的是,无法在设备上打开https服务器)

1 个答案:

答案 0 :(得分:0)

由于混合内容在许多浏览器中都是不可能的,因此会阻止此类请求。你必须选择:

  • 通过HTTP服务您的网站
  • 在本地网站上使用HTTPS。如果此站点是您的应用程序的一部分,则应用程序会创建自签名证书,通过Internet向您自己的证书颁发机构(CA)发送签名请求(google for SCEP )。与CA签署证书,将签名证书发送回应用程序。为避免浏览器的安全警告,您的应用程序会在本地计算机上将CA的证书安装为受信任的根。然后访问您网站的用户可以从同一页面(在互联网网站上)访问他的 localhost 数据,而不会在浏览器中显示有关错误 SSL证书的任何安全警告。