将代码推送到 aws codeCommit 时出现此错误 --> repo : RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54

问题描述

我在北弗吉尼亚州的 AWS codecommit 上创建了一个 repo,然后能够使用 https url 在我的本地克隆它。然后我添加一些我的 Laravel 代码,提交它并尝试将它推送到代码提交上。然后我得到了这个错误

iDevOps@swetank01-MacBook-Pro sample-laralab % git push                                      
Enumerating objects: 5379,done.
Counting objects: 100% (5379/5379),done.
Delta compression using up to 4 threads
Compressing objects: 100% (4137/4137),done.
Writing objects: 100% (5379/5379),296.87 MiB | 300.98 MiB/s,done.
Total 5379 (delta 1004),reused 5371 (delta 1004)
error: RPC Failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL,errno 54
fatal: the remote end hung up unexpectedly
fatal: the remote end hung up unexpectedly
Everything up-to-date

我什至尝试在其他位置(例如 us-east-2)进行创建。我得到了不同的错误,比如

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/laralab
cloning into 'laralab'...

repo Could not be found

我首先遇到了这个错误,我最近使用 aws 实现了相同的 CI/CD 管道,中间没有遇到问题。任何提示将不胜感激

解决方法

GitHub issue 相关的是您的 git/curl/libressl 或 Internet 背后的代理存在问题。您可以更新您的 git/curl/libressl 或尝试不使用代理连接。

否则,您还可以更改有关 this post 的 git 配置:

git config http.postBuffer 524288000
,

此错误是由于身份验证方法和存储库克隆方式不一致造成的。 有两种方法可以设置身份验证方法和克隆存储库。

  1. ssh
  2. https

如果您已将身份验证模式设置为 ssh,则仅使用 ssh 方法克隆存储库。否则(使用 https 克隆)将导致此问题。 我最近遇到了这个问题,我浏览了很多 SO 帖子

  1. 关于增加全局缓冲区
  2. 检查更大的文件大小
  3. 重新初始化git

这些对我不起作用。

我所要做的就是删除并使用 ssh 方法重新克隆它,因为身份验证方法设置是 ssh。在此之前,我是用https方法克隆的,这是错误的。 使用相同的方法进行删除和重新克隆的效果非常好。

注意 - 在修复之前/之后,我正在检查同一段代码。