GitLab The requested URL returned error: 502

背景

在阳光明媚的一个上午,我点击了 git pull ,发生了报错...

报错语句:unable to access 'http://gitlab.../xxx.git/': The requested URL returned error: 502

之前也发生过一次这种情况,可能是网络不稳定导致请求超时的问题,尝试了去掉代理下载代码 unset http_proxy、unset https_proxy 和 git bash 里面执行 for((i=10;i<=200;i=i+10));do git fetch --depth=$i;done 都没有生效(也可能是我执行的姿势不对,感兴趣的小伙伴可以尝试一下),于是改变 clone 代码的方式

我原本是使用 clone with http,怀疑因为这个方式才跟网络有关。

 本篇的解决办法是改变 clone 代码的方式,如果使用 TortoiseGit 发生报错:No supported authentication methods available (server sent: publickey) 也使用下面的方法解决。

clone with ssh 和 clone with http 的区别

HTTP:不管是谁,拿到 url 就可以随便 clone,但是在 push 的时候需要验证用户名和密码;

SSH:clone 的项目你必须是拥有者或者管理员,而且 clone 之前需要添加 SSH key。

生成 SSH key

1、打开 PuTTYgen

打开开始菜单,点击 TortoiseGit 下面的 PuTTYgen 。

 2、点击 Generate,生成钥匙

 3、保存公钥和私钥到本地

点击 Save public key 保存公钥,

点击 Save private key 保存私钥。

注:Key passphrase 是设置密码,Confirm passphrase 是确认密码。

保存的格式,位置可以自选。

4、将公钥放到 gitLab 账号上

路径:点击头像,选择 Edit profile,选择左侧的SSH keys,将生成的公钥复制进去,点击 Add key 即可。

如果是 git ,路径:点击头像,选择 Settings,点击左侧列表的 SSH and GPG keys,点击 New SSH key,然后将公钥复制进去,保存即可。

 5、设置本地 TortoiseGit 私钥

6、修改 clone 方式

在项目的 .git 文件夹中,打开 config 文件。

将 url 由 http://gitlab.../xxx.git  改为 ssh://git@gitlab.../xxx.git 即可。

完成以后设置,就可以随意 git pull 了!

总结

仍然怀疑使用之前报错的原因是网络问题,因为之前都是好用的,可能最近公司的网络不太稳定。

502 是网关、服务器方面的报错码。

502原因

错误的原因找到了,是 TortoiseGit 配置192.168.2.254的代理挂了,把 Enable Proxy Server 关闭保存就可以了。

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值