Janus-gateway服务器搭建 android端报错处理
MacOS系统安装Janus-gateway、安卓测试机安装android客户端后,android端打开app闪退,Janus的log报错 [ERR] [dtls.c:janus_dtls_srtp_incoming_msg:663] [7408191110477680] Handshake error: error:1409210A:SSL routines:ssl3_get_server_hello:wrong ssl version
解决方法
针对ssl,我配置了nginx的ssl证书,后来再学习了dtls证书,都没有解决闪退问题,后来再琢磨log,看到ssl版本错误,打开Janus源码里的/usr/local/janus/share/doc/janus-gateway/README.md。

可以看到OpenSSL要求最低v.1.0.1,于是我高度怀疑是Mac的OpenSSL库版本太低。
- 检查OpenSSL版本 ,发现不是OpenSSL库,找到问题所在,接下来将其改为1.0.1以上版本的OpenSSL

- 更新OpenSSL库,可是是已经安装了最新版

- 在网上查,尝试强制链接,但是没有成功

- 解决方法

加入框中几行(就是上一步提示的四行)

- 重新加载一下系统文件

- 查看版本,修改成功

- 测试android客户端依然报错wrong ssl version
我想到我的电脑上有两个版本的openssl,1.1.1版本安装后路径的文件夹名字是openssl@1.1,但是我编译janus时没有考虑这些,是参考网上博客的路径配置的,很有可能配置路径配为了低版本的openssl。
我回看了下载安装依赖库的文档记录(做好记录真的有用),路径名字用的是openssl而不是openssl@1.1,这就找到问题所在了。
解决方法 重新编译源码,./configure时指定路径为openssl@1.1的完整路径
./configure --prefix=/usr/local/janus PKG_CONFIG_PATH=/usr/local/opt/openssl@1.1/lib/pkgconfig
8.测试,无报错,同一内网的浏览器可与android、iOS客户端互通
总结
1、认真看log,根据log找问题非常高效,不要凭空猜测,很浪费时间精力
2、一个陌生工程,认真读readme.md,太有用了,比网上搜高效
3、参考网上的安装过程时,要清楚每个步骤的目的,参考自己的设备环境进行配置安装
4、复杂的安装过程记录终端的log,以便查看当时使用的安装命令
在MacOS上搭建Janus-gateway并使用Android客户端时遇到app闪退,错误日志显示SSL版本错误。解决方法包括检查OpenSSL版本,更新到1.0.1以上,注意不同版本的openssl路径可能不同,重新编译Janus-gateway源码指定openssl@1.1路径。通过细致阅读日志和文档,避免凭空猜测,确保配置正确。

378

被折叠的 条评论
为什么被折叠?



