【问题标题】:Communicate to LAN device via http from within a secure (https) internet website从安全 (https) 互联网网站通过 http 与 LAN 设备通信
【发布时间】:2015-06-16 11:00:11
【问题描述】:

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

因为web应用是通过https访问的,所以不能直接通过http对设备进行ajax调用。

想过两种解决方法,但有兴趣看看我是否遗漏了什么:

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

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

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

【问题讨论】:

  • 为什么不能在该设备上启用 HTTPS?

标签: javascript security https


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 2011-11-24
    相关资源
    最近更新 更多