Websocket - WSS无法在视频录制中使用HTTPS

时间:2016-06-06 12:13:06

标签: javascript node.js https wss

应用程序+实施概述

在外出应用中,我们需要执行视频录制。我们继续使用https://developer.mozilla.org/en/docs/Web/API/MediaRecorder_API托管的MediaRecorder API。

我们是getUserMedia API来访问webCam和mic。 我们使用MediaRecorder API来记录短Blob并将其发送到托管NodeJS WebSocket的应用服务器上。 (短流程到服务器的数据传输每2秒发生一次。

在应用服务器上,我们继续累积数据,最后创建一个.webm媒体文件。

问题: 所有这些都可以通过HTTP协议正常工作,但每当我们将应用程序放在SSL上并开始使用以下描述进行错误时;

错误文本:" WebSocket连接到' wss:// localhost:9000 /'失败:WebSocket开放握手被取消"

错误截图:http://s33.postimg.org/9xasw0qa7/web_Socket_SSLIssue.jpg

你们中的任何人都可以在这里指导我们特别使用HTTPS的问题。

1 个答案:

答案 0 :(得分:0)

浏览器会拒绝WebSocket连接的自签名证书,因为它们认为它们不安全。您可以使用letsencrypt制作有效的免费证书,但需要进行frist编辑并将面部域添加到主机文件。

如果您使用Windows按下win键并过去 记事本%systemroot%\ system32 \ drivers \ etc \ hosts 然后右键单击“使用运行管理员”并添加假域并保存

现在,您需要使用具有新认证的nodejs设置新的SSL以获取更多详细信息。 https://nodejs.org/api/tls.html#tls_tls_createserver_options_secureconnectionlistener

对于测试,您使用假域而不是localhost等.wss://fakedomain.com:9000