解决git在Http协议下出现“HTTP 500 curl 22 The requested URL returned”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决git在Http协议下出现“HTTP 500 curl 22 The requested URL returned”相关的知识,希望对你有一定的参考价值。

参考技术A 在常使用git的一族中,在某些时候会出现如下的错误

之前碰到这样的问题,也上网看过,当时从某些资料上说是 push 的资源过大导致的。昨天有出现了一次这样的错误,就请公司的老大帮忙看了下,一眼就看出了问题所在,主要是因为http造成的。

疑惑:很疑惑,之前还是可以 push 的。为什么现在就会出问题,导致这个问题。

原因:在获取这个项目的时候,也就是 git clone 项目的时候后是通过http协议获取的。

如下图,不论是使用GitLab还是gitHub,在clone的时候都有两种选择,即http/https和SSH两种方式:

获取项目命令

使用http协议获取的项目, push 多文件,大文件的时候,都容易出现这样的问题,只需要改成SHH方式即可。

以下,就是将项目原来使用Http/Https改成SSH方式

可以看到如下配置内容

替换url为SSH方式

SSH的链接可以从如下获取到

最后保存

喜欢请随意

centos 下git服务器搭建

准备

CentOS Linux release 7.0.1406 (Core)

ssh 22端口

http 80端口

本文主要是ssh协议支持,http协议配置后还有问题。

摘抄的一段说明

SSH 协议

架设 Git 服务器时常用 SSH 协议作为传输协议。 因为大多数环境下已经支持通过 SSH 访问 —— 即时没有也比较很容易架设。 SSH 协议也是一个验证授权的网络协议;并且,因为其普遍性,架设和使用都很容易。

通过 SSH 协议克隆版本库,你可以指定一个 ssh:// 的 URL:

$ git clone ssh://[email protected]/project.git

或者使用一个简短的 scp 式的写法:

$ git clone user@server:project.git

你也可以不指定用户,Git 会使用当前登录的用户名。

优势

用 SSH 协议的优势有很多。 首先,SSH 架设相对简单 —— SSH 守护进程很常见,多数管理员都有使用经验,并且多数操作系统都包含了它及相关的管理工具。 其次,通过 SSH 访问是安全的 —— 所有传输数据都要经过授权和加密。 最后,与 HTTP/S 协议、Git 协议及本地协议一样,SSH 协议很高效,在传输前也会尽量压缩数据。

缺点

SSH 协议的缺点在于你不能通过他实现匿名访问。 即便只要读取数据,使用者也要有通过 SSH 访问你的主机的权限,这使得 SSH 协议不利于开源的项目。 如果你只在公司网络使用,SSH 协议可能是你唯一要用到的协议。 如果你要同时提供匿名只读访问和 SSH 协议,那么你除了为自己推送架设 SSH 服务以外,还得架设一个可以让其他人访问的服务。

 

2016-10-26 补充,ssh没有http访问方便,已改用gitlab实现,还不错,参照官网文档即可

 

以上是关于解决git在Http协议下出现“HTTP 500 curl 22 The requested URL returned”的主要内容,如果未能解决你的问题,请参考以下文章

HTTP 500 错误

windows7旗舰 IIS出现HTTP500错误怎么解决?

web项目部署到云ubuntu出现 HTTP 500-Unable to compile class for JSP 错误 的解决

Linux系统环境下安装dedecms(织梦)提示http500错误的解决办法

HTTP 500内部服务器错误怎么解决。

HTTP 500报错解决