一、问题描述
我们开发项目时,经常会和第三方接口打交道,有些第三方项目为了安全起见,会把项目部署在"内网"环境,不对外暴露,通常会提供VPN代理才能访问到资源。
而在项目中我就因为这个而遇到了一个问题,你就是IDEA 配置Git 后无法进行 pull 和 push 操作 这个主要是因为对外网进行了限制 导致的问题
Connecting to a new host gitlab.GZCASCADE.COM:22 that has the key 92:f1:bc:5b:9d:f6:De:f9:d9:20:52:62:e6:62:d1:55 (type ssh-rsa).
Do you want to add this host to known hosts database?
看到上面的问题我们的第一反应就是 port 22 被占用
我们使用netstat -aon|findstr"22"
查询一下确实是有好几个应用在占用端口,但同时好像是轮询使用的,并不是一直占着端口的
然后使用 Git Base 进行Git 的pull 和push 操作 发现是OK的 ,那问题就出来
接着我们在使用 Git Base 模拟 IDEA 的Git 测试连接 gitlab 发现问题 也是 这个样子
ssh -T git@altssh.gitlab.com
那接下来大概问题确定了 ,应该就是内网设置了域,在内网中的IDEA无法请求到内网的 gitlab
二、解决办法
1、配置 IDEA 代理服务器
选择File --> Settings --> 搜索HTTP Proxy --> 选择Manual proxy configuration --> 选择HTTP输入ip和端口 --> 点击Apply
2、配置Git SSH 构建类型
配置完上面的步骤后在使用IDEA pull 就出现如下问题
Fetch failed
Could not read from remote repository.
那我们接下来继续处理,修改一下SSH 构建类型
到此问题就解决了