【问题标题】:Kurento - WebSocket Connection failedKurento - WebSocket 连接失败
【发布时间】:2016-05-13 07:35:01
【问题描述】:

我正在尝试运行 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_REFUSED

kurento 服务器使用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 文件中使用上述文件之一?

【问题讨论】:

    标签: javascript security ssl webrtc kurento


    【解决方案1】:

    您已经有一个 certificate chain 文件,并且正如文档所述:

    如果此 PEM 证书是签名证书(由 Verisign 等证书颁发机构签发),那么您就完成了。

    Kurento 需要私钥和完整的链,但是这些文件是在使用letsencrypt时单独生成的。您可以将fullchain.pem 和您的privkey.pemcat privkey.pem fullchain.pem > server.pem 连接起来

    配置 Kurento 以使用您的新文件 server.pem 作为其 certificate

    "secure": {
      "port": 8433,
      "certificate": "server.pem",
      "password": ""
    }
    

    作为记录,如果您要使用sign your own certificate,您将使用cat 来创建证书链,如下所示:

    root-ca ==> 签名-ca ==> 从属-ca ==> 服务器

    【讨论】:

      【解决方案2】:

      请确保 Kurento 媒体服务器已安装并正在运行。

      https://github.com/Kurento/kurento-media-server

      【讨论】:

        【解决方案3】:

        您的 kurento.json.conf 文件可能没问题。

        我不久前遇到了这个问题。问题是java出于安全目的阻止了websocket隧道。您需要在 registerWebSocketHandlers 方法中添加 setAllowedOrigins(*)。 注意:这是不安全的,不应在生产环境中使用。

        @Override
        public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
         registry.addHandler(handler(), "/helloworld").setAllowedOrigins("*");
        }
        

        以下是 Kurento 团队对为何以这种方式编码的回应... https://groups.google.com/d/msg/kurento/Q5ODV7hkuOc/RnsZKBaXDQAJ

        【讨论】:

        猜你喜欢
        • 2018-12-19
        • 1970-01-01
        • 2022-10-17
        • 2016-04-20
        • 2013-12-17
        • 2015-04-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多