Kurento - WebSocket连接失败

use*_*607 10 javascript security ssl webrtc kurento

我正在尝试运行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',
Run Code Online (Sandbox Code Playgroud)

但是,我现在收到以下错误:

WebSocket connection to 'wss://XYZ:8433/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
Run Code Online (Sandbox Code Playgroud)

使用letsencrypt保护kurento服务器以通过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
Run Code Online (Sandbox Code Playgroud)

我在这里很困惑,因为我找不到上面的文件.Letsencrypt为我生成以下.pem文件:

cert.pem,chain.pem,fullchain.pem,privkey.pem

是否应该在kurento.json.conf文件中使用上述文件之一?

imr*_*qwe 6

您已有证书链文件,并且文档中提到:

如果此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": ""
}
Run Code Online (Sandbox Code Playgroud)

为了记录,如果您要签署自己的证书,您将使用cat以创建证书链,如下所示:

root-ca ==> signing-ca ==> subordinate-ca ==> server