当前位置: 首页 > news >正文

做医疗网站建设北京seo专业团队

做医疗网站建设,北京seo专业团队,卢沟桥网站建设,我想学制作网站1 背景 最近用libevent写了一个https代理功能,在调研的时候,遇到了一个项目用到了本地多个openssl库引发的ssl握手崩溃问题。 2 开发环境 项目库版本号依赖项libeventlibevent-2.1.8-stableopenssl 1.1openssl1.0u / 1.1.1w / 3.3.1...... 3 问题现象…

1 背景

    最近用libevent写了一个https代理功能,在调研的时候,遇到了一个项目用到了本地多个openssl库引发的ssl握手崩溃问题。

2 开发环境

项目库版本号依赖项
libeventlibevent-2.1.8-stableopenssl 1.1
openssl1.0u / 1.1.1w / 3.3.1......

3 问题现象

    https代理的下游是http客户端( 播放器)连接,上游服务器是https对接,其中https对接上游需要用到openssl库。

    这在播放器打开该播放url并回溯到上游点播服务器的时候,崩溃堆栈直接到了openssl库内部。

    以下是出问题时的堆栈现场:

4 原因分析

    为了简单起见,抽离了业务代码,直接用openssl的api写了一个简单的demo,去连接上游https服务器,发现同样存在崩溃现象,并且崩溃的堆栈都一样。

    列出demo的主要代码:

int main (int argc, char* argv[]) {/* 初始化SSL协议环境 */// SSL_library_int();/* 创建SSL上下文 */SSL_CTX *ctx = SSL_CTX_new (SSLv23_client_method());if(ctx == NULL) {return false;}/* 设置SSL选项 */SSL_CTX_set_options (ctx,SSL_OP_SINGLE_DH_USE |SSL_OP_SINGLE_ECDH_USE |SSL_OP_NO_SSLv2 /*禁用SSLv2*/ |SSL_OP_NO_TLSv1 /*禁用TLSv1*/);// 不校验ssl证书SSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, NULL);int r = bufferevent_openssl_socket_new (base,-1,SSL_new(ctx),BUFFEREVENT_SSL_ACCEPTING,BEV_OPT_CLOSE_ON_FREE);// 设置回调函数bufferevent_setcb(evcon->bufev, evhttp_read_cb, evhttp_write_cb, evhttp_ssl_error_cb, evcon);// 启动SSL连接bufferevent_socket_connect_hostname(evcon->bufev, dnsbase, AF_UNSPEC, evcon->address, port);bufferevent_enable(evcon->bufev, EV_WRITE);struct event_base* event_base = event_base_new();event_base_dispatch(event_base);SSL_CTX_free(ssl_ctx);return 0;
}

 问题原因,当时有2个方向:

  • openssl的api使用不当所致,经openssl的example对比发现无异常;
  • 本地或有多个openssl版本,libevent-2.1.8-stable的编译和链接用到了不同的openssl库所致;

   终端执行ls命令查看,的确有多个openssl版本(其实还有openssl的1.0u版本,后来为解决问题卸载了):

5 解决办法

    由于libevent-2.1.8-stable版本匹配的openssl版本为1.1版本系列,因此去掉其他openssl版本,保留openssl1.1版本,再编译libevent-2.1.8-stable。

    然后在工程文件里引入编译好的libevent库,及其openssl库:

    再次编译运行的时候,发现整个世界清净了,可以正常代理播放了:

http://www.mnyf.cn/news/15462.html

相关文章:

  • 中元建设集团网站网络服务器是指什么
  • 陈村网站建设个人网页设计作品模板
  • 招商网站建设今天的国内新闻
  • 动态网站制作视频教程想在百度上推广怎么做
  • 如何更换网站新域名谷歌官网注册入口
  • 创作服务平台文大侠seo
  • 如何找到盘古做的网站下载优化大师
  • wordpress 防垃圾评论朝阳区seo
  • 如何看网站是否优化网站seo的内容是什么
  • 网站开发 php模板企业邮箱哪个好
  • 山东省建设工程信息网站网络营销的推广手段
  • seo工具软件网站seo教程
  • 洛阳市建设工程安全监督网站个人博客网页设计html
  • 找个网站2021能看到seo推广软件排行榜
  • 移动端网站开发公司百度注册公司网站
  • 网站备案号有效期百度网站联系方式
  • 网站开发维护招聘网店seo是什么意思
  • 微网站 一键拨号网络营销的原理
  • 需要企业网站建设百度推广中心
  • 用me做后缀的网站附近广告公司
  • 培训公司网站建设推动防控措施持续优化
  • 网站可兼容移动端厦门seo公司到1火星
  • PHP+Ajax网站开发典型实例百度指数官网移动版
  • 做网站的人搞鬼少首页文件百度竞价关键词
  • 做一个小公司网站多少钱上海已经开始二次感染了
  • 网站推荐软件优化营商环境
  • 上海网站制作网站建设盛大游戏优化大师
  • 男女做爰免费网站产品推广策划
  • 苏州网站建设公司百度热门关键词
  • 网站自己做服务器优化排名案例