2

我的应用程序具有 1:1 视频通话功能,为此我设置了自己的转向服务器。直到昨天,turnserver 一直运行良好。当我尝试从应用程序调用时,turnserver 拒绝。我从浏览器尝试了turnserver url,它显示了这样的内容,在此处输入图像描述

我立即登录了collidermain,它显示

root@<machine_name>:~# <timestamp> Starting collider: tls = true, port = 8443, room-server=https://<mydomain>.com
<timestamp> http: TLS handshake error from 182.160.105.186:43243: remote error: tls: unknown certificate

每次都会出现这种情况,我的应用程序尝试与 turnserver 连接。

心想,ssl 证书跟它有关,更换 ssl 证书,尝试重新安装 collidermain,重新启动 google-cloud-sdk、turnserver、collidermain。仍然没有运气。

在 stakoverflow 上有两个类似的问题。

WebSocket 打开错误:WebSocket 错误,这不是 chrome 错误,因为在我写这篇文章的时候,我让另外两个 turnserver 运行得非常好,服务器运行状况也很好

Websocket 打开错误,websocket 注册错误这也不起作用。我重新安装了对撞机。没运气

我的问题是,这个错误的根本原因是什么以及如何解决它?

系统规格:

  • 操作系统:Ubuntu 20.04

  • 使用 Google-cloud-sdk 运行的 AppRTC 代码,版本:330.0.0

  • Turnserver 版本:4.4.3

  • 信令服务器:collidermain

  • 使用 let's encrypt certbot 颁发的证书
4

1 回答 1

0

解决了!这就是发生的事情。

我将 certbot 颁发的证书复制到另一个目录/cert/ 并在turnserver.conf文件中,我将证书路径指向/cert/目录。所以它工作了一段时间。Certbot 证书有效期为 3 个月,有效期届满自动更新。因此,certbot 更新了证书并将其放入/etc/letsencrypt/live/:domain_name/. turnserver.conf仍然指向过时的证书驻留在/cert/目录中。这就是为什么当我尝试加入房间时,使用过时的证书和节目的服务器TLS handshake error

所以,我只是将证书路径从更改/cert//etc/letsencrypt/live/:domain_name/in turnserver.conf,它重新上线了!耶!!

于 2021-10-20T15:38:52.853 回答