求助 ssl握手失败是什么原因

lin枫520
SSL handshake error: stream_socket_enable_crypto(): SSL_R_NO_SHARED_CIPHER: no suitable shared cipher could be used.  This could be because the server is missing an SSL certificate (local_cert context option) 

服务端报错如上
 
客户端报错如下

WebSocket connection to 'wss://xxx.xxx.com:2288/' failed: Error in connection establishment: net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH
7464 1 0
1个回答

walkor

This could be because the server is missing an SSL certificate (local_cert context option)   
 
从以下原因找  
 
1、local_cert 没配置  
 
2、local_cert 配置的路径不对,文件不存在。不要使用相对路径,请使用绝对路径配置。  
 
3、workerman没有权限读取local_cert配置的文件  
 

  • lin枫520 2019-10-28

    确实 是权限问题 使用root来运行就解决了 另外 WebSocket 偶尔会接收不到客户端发来的消息.请问是定时平滑重启的原因吗?我使用定时任务 定时一小时重启 不知有没有影响?

  • walkor 2019-10-28

    有可能。另外客户端要做好断线重连,onclose的时候重连

年代过于久远,无法发表回答
🔝