我试图运行Kurento WebRTC的Javascript记录示例,如下所示:
http://doc-kurento.readthedocs.org/en/stable/tutorials/js/tutorial-recorder.html
我已经在Ubuntu机器上安装了Kurento,它运行正常。这项服务也已开始。此外,我测试了基于Java的示例,它运行时没有任何问题。
js记录示例失败,出现以下错误:
混合内容:在'https://ABCDEF‘处的页面是通过HTTPS加载的,但试图连接到不安全的WebSocket端点'ws://XYZ:8433/’。此请求已被阻止;此端点必须在WSS上可用。
我将ws_uri变量更改为指向安全的web套接字:
ws_uri: 'wss://XYZ:8433',但是,我现在得到了以下错误:
WebSocket connection to 'wss://XYZ:8433/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSEDkurento服务器是安全的,可以使用letsencrypt在HTTPS上运行。我使用了以下说明来保护服务器:
https://doc-kurento.readthedocs.org/en/latest/mastering/securing-kurento-applications.html
但是,在上面的示例中,它要求连接以下crt文件:
cat signing-ca.crt subordinate-ca.crt server.crt > server.pem不过,我在这里很困惑,因为我找不到上面的文件。Letsencrypt为我生成以下.pem文件:
cert.pem,chain.pem,fullchain.pem,privkey.pem
是否应该在kurento.json.conf文件中使用上述文件之一?
发布于 2016-02-13 12:21:15
您已经有了一个证书链文件,正如文档所提到的:
如果此PEM证书是一个签名证书(由证书颁发机构(如Verisign)签署),那么您就完成了。
Kurento需要私钥和完整链,但是在使用letsencrypt时这些文件是单独生成的。您可以将fullchain.pem和privkey.pem与cat privkey.pem fullchain.pem > server.pem连接起来。
配置Kurento以使用新文件server.pem作为其certificate:
"secure": {
"port": 8433,
"certificate": "server.pem",
"password": ""
}为了记录,如果您是在自己的证书上签字,您应该使用cat来创建一个证书链,如下所示:
root-ca ==>签名-ca ==>从属-ca ==>服务器
发布于 2016-02-04 19:21:43
您的kurento.json.conf文件可能没有问题。
我有一段时间以前遇到过这个问题。问题是,出于安全目的,java正在阻塞websocket隧道。您需要在setAllowedOrigins方法中添加registerWebSocketHandlers (*)。注意:这是不安全的,不应该在生产环境中使用.。
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(handler(), "/helloworld").setAllowedOrigins("*");
}以下是Kurento团队对其为什么采用这种方式编码的响应. https://groups.google.com/d/msg/kurento/Q5ODV7hkuOc/RnsZKBaXDQAJ
发布于 2016-04-26 15:15:43
请确保Kurento媒体服务器已安装并正在运行。
https://stackoverflow.com/questions/35188332
复制相似问题