Janus-gateway-android连接janus-gateway报错wrong ssl version处理

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。
Janus-gateway-android连接janus-gateway报错wrong ssl version处理_第1张图片
可以看到OpenSSL要求最低v.1.0.1,于是我高度怀疑是Mac的OpenSSL库版本太低。

  1. 检查OpenSSL版本 ,发现不是OpenSSL库,找到问题所在,接下来将其改为1.0.1以上版本的OpenSSL
    在这里插入图片描述
  2. 更新OpenSSL库,可是是已经安装了最新版
    Janus-gateway-android连接janus-gateway报错wrong ssl version处理_第2张图片
  3. 在网上查,尝试强制链接,但是没有成功
    Janus-gateway-android连接janus-gateway报错wrong ssl version处理_第3张图片
  4. 解决方法
    在这里插入图片描述
    加入框中几行(就是上一步提示的四行)
    Janus-gateway-android连接janus-gateway报错wrong ssl version处理_第4张图片
  5. 重新加载一下系统文件 在这里插入图片描述
  6. 查看版本,修改成功
    在这里插入图片描述
  7. 测试android客户端依然报错wrong ssl version

我想到我的电脑上有两个版本的openssl,1.1.1版本安装后路径的文件夹名字是[email protected],但是我编译janus时没有考虑这些,是参考网上博客的路径配置的,很有可能配置路径配为了低版本的openssl。

我回看了下载安装依赖库的文档记录(做好记录真的有用),路径名字用的是openssl而不是[email protected],这就找到问题所在了。

解决方法 重新编译源码,./configure时指定路径为[email protected]的完整路径

./configure --prefix=/usr/local/janus PKG_CONFIG_PATH=/usr/local/opt/[email protected]/lib/pkgconfig

8.测试,无报错,同一内网的浏览器可与android、iOS客户端互通

总结

1、认真看log,根据log找问题非常高效,不要凭空猜测,很浪费时间精力
2、一个陌生工程,认真读readme.md,太有用了,比网上搜高效
3、参考网上的安装过程时,要清楚每个步骤的目的,参考自己的设备环境进行配置安装
4、复杂的安装过程记录终端的log,以便查看当时使用的安装命令

你可能感兴趣的:(Janus-gateway-android连接janus-gateway报错wrong ssl version处理)