我有一个使用SSL保护的网站 .

该网站通过socket.io与客户端应用程序通信 . 应用程序正在运行socket-io服务器,并且网站尝试作为客户端连接到它 .

但是,Chrome在通过HTTP运行时会阻止套接字 . 对SSL插槽使用自签名证书时,Chrome会使用消息 net::ERR_INSECURE_RESPONSE 拒绝它们 .

我不知道如何获得CA签名证书 . 这是一个客户端应用程序,浏览器通过它连接到它

var socket = io.connect("https://localhost:21054");

所以没有域可以验证 . 此外,这个证书很容易被破坏(因为它是客户端),但这在安全方面无关紧要:网站将命令分派给应用程序,并且从不承认应用程序所说的任何内容 .

我怎么能:

  • 获取在localhost上运行的应用程序的可信证书?

  • 强制浏览器(通过javascript)连接到不受信任的websocket?

  • 使用Chrome信任的单向插槽? (XHR式)

  • 还有什么可以成功连接到套接字吗?