【项目问题解决】OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to git.xxxx.com:443

【项目问题解决】OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to git.xxxx.com:443_第1张图片

目录

OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to git.xxxx.com:443

  • 一.问题描述
  • 二.问题原因
  • 三.解决思路
  • 四.解决方案
  • 五.总结
  • 六.参考


文章所属专区 项目问题解决


OpenSSL的SSL_connect函数是用于在SSL/TLS协议中建立客户端与服务器之间安全连接的函数3。它的函数原型是int SSL_connect(SSL *ssl)。调用SSL_connect函数可以触发SSL密钥协商的流程,确保通信的安全性1。

在使用SSL_connect函数之前,需要先设置好通信通道并将其分配给SSL对象,通常是通过设置底层的BIO(BIO是OpenSSL中的一种抽象I/O接口)3。

SSL_connect函数的行为取决于底层的BIO。如果底层的BIO是阻塞的,那么SSL_connect函数只有在握手完成或发生错误时才会返回3。如果底层的BIO是非阻塞的,那么SSL_connect函数在底层BIO无法满足继续握手的需求时也会返回,通过返回值-1来指示问题

一.问题描述

使用sourceTree提交代码报错 OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to git.xxxx.com:443
连接到这个地址的443端口错误

二.问题原因

可能是网络波动,使用ping命令发现有时候会有一些丢包
【项目问题解决】OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to git.xxxx.com:443_第2张图片

三.解决思路

  1. 检查网络连接是否正常且稳定
  2. 检查网络是否使用了代理(如果使用了需要重新配置git代理信息)

四.解决方案

查看自己的git代理

git config --global --get http.proxy
git config --global --get https.proxy

重置git代理

git config --global --unset http.proxy
git config --global --unset https.proxy

设置自己的代理

git config --global http.proxy '127.0.0.1:8000'
git config --global https.proxy '127.0.0.1:8000'

设置远程代理

git config --global --add remote.origin.proxy ""

五.总结

1.检查证书:使用 SSL 检测工具或浏览器检查证书是否已安装成功,如果证书已过期或无效,需要申请新的证书并重新安装。

2.检查网络连接:需要检查网络连接是否正常,可以尝试重新启动路由器或调整网络设置。

3.检查浏览器设置:需要检查浏览器设置,确保 SSL 协议和加密算法已启用。

4.检查服务器配置:需要检查服务器配置,确保 SSL 协议和加密算法已启用,并正确安装和配置证书和密钥文件。

5.检查防火墙设置:需要检查防火墙设置,确保 SSL 端口已打开。

6.检查安全软件设置:需要检查安全软件设置,确保 SSL 连接已允许并添加 SSL 证书到信任列表。

7.最后检查本机是否使用了代理网络。

六.参考

Git报错:OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to
OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
OpenSSL之SSL_connect函数分析
给个三连吧 谢谢谢谢谢谢了
在这里插入图片描述

你可能感兴趣的:(项目问题解决,ssl,git,elasticsearch,软件工程,服务器,bug,linux)