更换GitLab服务器后远程拉取代码出现connection timeout报错如何解决
GitLab 443端口连接超时排查解决步骤
1. 校验域名解析有效性
域名解析变更后可能存在缓存,优先确认业务服务器拿到的是新GitLab的IP:
- 执行
nslookup <你的GitLab域名>或dig <你的GitLab域名>,对比返回的IP和本地设备解析到的新GitLabIP是否一致 - 若解析结果为旧IP,先清理本地DNS缓存:
- CentOS/RHEL 执行
systemctl restart nscd - Ubuntu/Debian 执行
systemd-resolve --flush-caches - 检查
/etc/hosts文件,删除旧GitLab域名的硬绑定记录,或修改为新IP
- CentOS/RHEL 执行
2. 校验443端口网络连通性
报错指向端口连接超时,核心排查双向访问控制:
- 执行
telnet <你的GitLab域名> 443验证端口连通性,若连接失败再执行curl -v https://<你的GitLab域名>查看详细请求日志 - 检查新GitLab服务器的安全组、iptables、firewalld规则,确认已放通业务服务器的出口IP访问443端口的权限(本地能访问仅代表你的IP被放通,不代表所有IP都在放行列表内)
- 检查业务服务器的出口防火墙、全局代理配置,确认没有拦截GitLab域名/IP的规则,没有错误的HTTPS代理转发
3. 校验Git配置正确性
- 进入项目目录执行
git remote -v,确认origin地址的域名、路径没有拼写错误、多余空格或旧端口配置 - 执行
git config --global --list检查是否配置了全局Git代理,若有无效代理可执行git config --global --unset https.proxy删除
4. 特殊场景排查
- 若GitLab使用自签名SSL证书,可临时执行
git config http.sslVerify false测试是否为证书信任导致的连接异常(生产环境不建议长期关闭SSL校验,建议将证书导入业务服务器的信任根证书列表) - 若业务服务器所在网络部署了WAF、入侵检测设备,确认新GitLab的IP没有被误拦截
内容的提问来源于stack exchange,提问作者Exo
相关产品推荐
相关产品推荐

