【问题标题】:Turnserver showing WebSocket open error: WebSocket error after trying to join a roomTurnserver 显示 WebSocket 打开错误:尝试加入房间后出现 WebSocket 错误
【发布时间】:2021-10-20 23:38:52
【问题描述】:

我的应用具有 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 open error: WebSocket error,这不是 chrome 错误,因为在我写这篇文章的时候,我的其他两个 turnserver 运行得非常好,而且服务器运行状况很好

Websocket open error, websocket register error 这也不行。我重新安装了对撞机。没有运气

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

系统参数:

  • 操作系统:Ubuntu 20.04

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

  • Turnserver 版本:4.4.3

  • 信令服务器:collidermain

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

【问题讨论】:

  • 更新:我破坏了服务器并在另一个实例中尝试全新安装。结果相同,但这次没有给出TLS handshake 错误。

标签: websocket ssl-certificate webrtc collider apprtc


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多