视频通话会议系统EasyRTC报certificate signed by unknown authority错误解决方案

本文主要是介绍视频通话会议系统EasyRTC报certificate signed by unknown authority错误解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

由于市场上对企业视频通话的需求越来越高,目前市面上的一些视频通话会议系统无法全部兼容所有的要求,为此我们对视频通话会议系统EasyRTC也做了升级更新。

RTC.png

我们的研发人员最近在进行EasyRTC新版调试视频的时候,发现报错“x509: certificate signed by unknown authority”,本文我们一起来看一下什么原因,为后面碰到同样报错的人做参考。

问题描述

在EasyRTC产品开发过程中,Go语言开发的程序需要向底层C语言开发的程序发送http请求获取部分信息。

resp, err := client.Get(GetAPIURL("/api/v1/getlivesessions?id="+id))
if err != nil {log.Println(err)return nil
}

此程序最终出现错误,返回nil。

原因分析

在C语言程序中,收到HTTP请求后,会自动将此请求代理到HTTPS请求中,因此在Go语言发送HTTP请求后,会收到HTTPS的证书,然后验证证书的有效性。一般来说,如果是私有生成的证书,或者未经过第三方权威证书公司认证后的证书,浏览器和官方都会提示错误。C中的HTTPS证书为默认私有证书,因为会出现“x509: certificate signed by unknown authority”错误。

解决方案

因为是本机访问C程序的接口,在此种场景下,不需要考虑安全问题,因此只需要在Go原因开发时,不验证证书即可正常获取接口信息。

按照以下方式编写获取不需要校检证书。

func getClient() *http.Client {tr := &http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: true},}client := &http.Client{Timeout:    3 * time.Second,Transport: tr,}return client
}

其中TLSClientConfig: &tls.Config{InsecureSkipVerify: true}代表为不需要校验证书。如果InsecureSkipVerify设置为false,则会校验证书。

EasyRTC播放效果:

EasyRTC.png

这篇关于视频通话会议系统EasyRTC报certificate signed by unknown authority错误解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/930837

相关文章

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

Java.lang.InterruptedException被中止异常的原因及解决方案

《Java.lang.InterruptedException被中止异常的原因及解决方案》Java.lang.InterruptedException是线程被中断时抛出的异常,用于协作停止执行,常见于... 目录报错问题报错原因解决方法Java.lang.InterruptedException 是 Jav

kkFileView在线预览office的常见问题以及解决方案

《kkFileView在线预览office的常见问题以及解决方案》kkFileView在线预览Office常见问题包括base64编码配置、Office组件安装、乱码处理及水印添加,解决方案涉及版本适... 目录kkFileView在线预览office的常见问题1.base642.提示找不到OFFICE组件

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

WinForm跨线程访问UI及UI卡死的解决方案

《WinForm跨线程访问UI及UI卡死的解决方案》在WinForm开发过程中,跨线程访问UI控件和界面卡死是常见的技术难题,由于Windows窗体应用程序的UI控件默认只能在主线程(UI线程)上操作... 目录前言正文案例1:直接线程操作(无UI访问)案例2:BeginInvoke访问UI(错误用法)案例

Spring Security常见问题及解决方案

《SpringSecurity常见问题及解决方案》SpringSecurity是Spring生态的安全框架,提供认证、授权及攻击防护,支持JWT、OAuth2集成,适用于保护Spring应用,需配置... 目录Spring Security 简介Spring Security 核心概念1. ​Securit

MySQL逻辑删除与唯一索引冲突解决方案

《MySQL逻辑删除与唯一索引冲突解决方案》本文探讨MySQL逻辑删除与唯一索引冲突问题,提出四种解决方案:复合索引+时间戳、修改唯一字段、历史表、业务层校验,推荐方案1和方案3,适用于不同场景,感兴... 目录问题背景问题复现解决方案解决方案1.复合唯一索引 + 时间戳删除字段解决方案2:删除后修改唯一字