Websocket - WSS 在视频录制中无法使用 HTTPS
Websocket - WSS not working on HTTPS in video recording
应用+实现概述
在应用程序中我们需要进行视频录制。我们继续使用在 https://developer.mozilla.org/en/docs/Web/API/MediaRecorder_API.
上托管的 MediaRecorder API
我们是 getUserMedia API 来访问网络摄像头和麦克风。
我们正在使用 MediaRecorder API 来记录短 blob 并将其发送到托管 NodeJS WebSocket 的应用程序服务器上。 (数据以短 blob 的形式传输到服务器每 2 秒发生一次。
在应用服务器上,我们不断积累数据,最终创建了一个.webm 媒体文件。
问题:
所有这一切都适用于 HTTP 协议,但每当我们将应用程序置于 SSL 上并开始出现以下描述时出错;
错误文本:"WebSocket connection to 'wss://localhost:9000/' failed: WebSocket opening handshake was canceled"
错误截图:http://s33.postimg.org/9xasw0qa7/web_Socket_SSLIssue.jpg
你们中的任何人都可以指导我们解决 HTTPS 的具体问题吗?
浏览器将拒绝用于 WebSocket 连接的自签名证书,因为它们认为它们不安全。您可以使用 letsencrypt 制作一个有效的免费证书,但您需要先编辑并将人脸域添加到主机文件。
如果你使用Windows按win键然后过去
记事本 %systemroot%\system32\drivers\etc\hosts
并右键单击使用 运行 作为管理员并添加假域并保存
现在您需要使用带有新证书的 nodejs 设置新的 SSL 以获得更多详细信息。
https://nodejs.org/api/tls.html#tls_tls_createserver_options_secureconnectionlistener
为了测试,您使用假域而不是本地主机等。 wss://fakedomain.com:9000
应用+实现概述
在应用程序中我们需要进行视频录制。我们继续使用在 https://developer.mozilla.org/en/docs/Web/API/MediaRecorder_API.
上托管的 MediaRecorder API我们是 getUserMedia API 来访问网络摄像头和麦克风。 我们正在使用 MediaRecorder API 来记录短 blob 并将其发送到托管 NodeJS WebSocket 的应用程序服务器上。 (数据以短 blob 的形式传输到服务器每 2 秒发生一次。
在应用服务器上,我们不断积累数据,最终创建了一个.webm 媒体文件。
问题: 所有这一切都适用于 HTTP 协议,但每当我们将应用程序置于 SSL 上并开始出现以下描述时出错;
错误文本:"WebSocket connection to 'wss://localhost:9000/' failed: WebSocket opening handshake was canceled"
错误截图:http://s33.postimg.org/9xasw0qa7/web_Socket_SSLIssue.jpg
你们中的任何人都可以指导我们解决 HTTPS 的具体问题吗?
浏览器将拒绝用于 WebSocket 连接的自签名证书,因为它们认为它们不安全。您可以使用 letsencrypt 制作一个有效的免费证书,但您需要先编辑并将人脸域添加到主机文件。
如果你使用Windows按win键然后过去 记事本 %systemroot%\system32\drivers\etc\hosts 并右键单击使用 运行 作为管理员并添加假域并保存
现在您需要使用带有新证书的 nodejs 设置新的 SSL 以获得更多详细信息。 https://nodejs.org/api/tls.html#tls_tls_createserver_options_secureconnectionlistener
为了测试,您使用假域而不是本地主机等。 wss://fakedomain.com:9000