为了账号安全,请及时绑定邮箱和手机立即绑定

swoole对SSL的支持不足?swoole好坑,使用需谨慎各位有什么建议?

swoole对SSL的支持不足?swoole好坑,使用需谨慎各位有什么建议?

慕容3067478 2019-08-21 11:55:46
首先肯定,swoole是支持TCP的SSL方式连接通信的。但是双向认证似乎不行,设置了双向认证,结果客户端不使用证书也一样能连接。回归正题。最近项目需求,要与esp8226芯片的wifi模块通信,模块只有静态链接库,因此这部分底层代码无法修改。经验证,该代码应该是能连接,并正常通信的。结果使用swoole写的服务端,使用tcp方式和esp8226连接通信就没问题,但使用SSL无论怎样都连接失败。查找原因,swoole使用的是SSL_do_handshake与客户端建立连接。如果同样使用C语言的代码,用SSL_accept建立连接,写一个简单的TCP带SSL的服务器,和esp8226连接通信就没问题。提问也没人能回答,资料也找不到。如果看swoole的源代码自己弄,估计短期内不太可能。最后不得不放弃swoole改用golang语言写服务端,非常顺利就解决,而且完全符合预期。哎,被swoole坑了好久,还是大厂靠谱,swoole还是慎重使用。千万别听他的可用于物联网,后面还不知道有多少坑要踩,亲自体验的结果。
查看完整描述

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

Swoole默认是不开启证书验证的,你可以设置ssl_verify_peer验证对端证书,可以设置ssl_allow_self_signed允许自签名证书,ssl_verify_depth设置深度。
SSL连接失败,请贴出相关的错误信息和错误码。
                            
查看完整回答
反对 回复 2019-08-21
?
Helenr

TA贡献1780条经验 获得超3个赞

用的就是源代码里的例子examples/ssl/server.php有'ssl_verify_peer'=>trueswoole版本4.2.13错误提示太少:就是swoole-src/src/protocol/ssl.c文件的699行产生的badSSLclient[%s:%d]后面是ip和端口号。看提示没什么意义,就算开启debug好像也没有太多的有意义的提示.
                            
查看完整回答
反对 回复 2019-08-21
  • 2 回答
  • 0 关注
  • 455 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信