gitlab更换公网IP地址,导致gitlab非常的很卡,并且ssh方式添加的远程仓库是无法git pull 或者git push,只有是添加http方式的可以正常git pull和git push

故障过程:

我将原来gitlab上的IP(1.1.1.1)地址去掉,更换了一个负载的IP(2.2.2.2)地址,原来的gitlab独立服务器,变成了通过访问git.bjstack.com然后走到公网的,最后解析到负载设备,负载设备判断域名,由相应的主机提供服务。我本以为迁移完成。但是1小时候,有开发陆续说git无法提交,提交就需要用户密码,但是这个用户密码是没有的。后来我建议他使用http方式。然后是成功的。但是每次都需要输入自己的用户名和密码。

到了下午5点的时候,所有开发都反应无法提交代码。git pull push 都是直接卡死。

这时候才反应过来,gitlab迁移后肯定是哪里没有调试好,故障了。

上来先各种百度,都说需要修改git的地址什么的

版本不一样地址也不一样,建议大家通过find查询相应的配置文件。

修改gitlab.yml(/opt/gitlab-6.7.3-1/apps/gitlab/htdocs/config/gitlab.yml)文件中的host地址

修改config.yml(/opt/gitlab-6.7.3-1/apps/gitlab/gitlab-shell/config.yml)文件中的gitlab_url

1.我们的gitlab配置的host地址是域名,也就是公网能解析的域名,这样的话跟gitlab的配置文件是没有关系的。

2.通过dig查询域名解析的时候,发现原来的地址还在上面,也就是老地址和新地址进行了负载轮训,当即上阿里云找出两个git的二级域名,赶紧取消老地址。然后再次查询是新地址没错,并且gitlab的访问速度明显上升了起来。但是还是只能通过http的方式git pull push  也就是ssh的方式还是不能使用。

最后在和我们的开发沟通中,他给了一个重要的提示,gitlab的ssh是通过22端口(如果使用默认端口),因为之前gitlab是独立服务器22端口肯定是能同的,但是现在修改为负载来进行调度,从而22端口肯定无法访问,这也就导致了通过ssh方式添加远程仓库的开发还是无法使用。

居然发现了问题,现在就开始解决,在负载均衡上添加一个tcp的调度,讲新地址的22端口调度到gitlab服务器的22端口,这样gitlab看起来像是独立的服务器,那么22端口自然就能够通信,最后在提交测试,瞬间提交。

此次迁移还是对于服务测试的不了解,迁移的时候不够细心,盲目的迁移导致故障的发生。

更换gitlab公网IP,引发的故障。的更多相关文章

  1. 首页技术支持常见问题宽带外网IP显示为10、100、172开头,没有公网IP,如何解决?

    1.表现形式: 路由器拨号获得的公网IP变成了一个以100开头的IP(或者是10.172开头),而打开ip138.com查询却又是另外一个IP,将100开头的这个IP到百度去查询下则显示所在区域为美国 ...

  2. (转)内网网站发布到外网-nat123动态公网IP动态域名解析

    环境描述: 路由器分配的是动态公网IP,且有路由器登录管理权限,网站服务器部署在路由器内部网络.如何将内网网站发布到外网大众访问? 解决方案: 内网使用nat123动态域名解析,将域名实时固定解析到路 ...

  3. openstack中的floating ip与阿里云的公网ip

    项目组因业务需求使用openstack搭建了一个私有云,本想在vm上搭建一个ftp.源是vsftpd.所有配置都完成了,在远程登录的时候却出现了 这个问题. 初一看以为是文件夹权限的问题,可上上下下全 ...

  4. 当主机ip变了修改gitlab的ip地址

    gitlab服务器IP地址更换后需要修改以下两个配置中的IP地址: /var/opt/gitlab/gitlab-rails/etc/gitlab.yml /etc/gitlab/gitlab.rb ...

  5. 使用n2n在没有公网IP条件下访问树莓派

    实现:在树莓派2和客户机都没有公网IP条件下实现远程访问控制 不足:暂时没实现网页代理 因为校园网环境没有公网IP,无法直接访问树莓派.之前有想过SSH反向代理:使用VPN,ddns(花生壳.no-i ...

  6. 用花生壳实现内网映射,决解无域名、无公网IP、无服务器空间问题

    无域名.无公网IP.无服务器空间用花生壳提供的免费内网映射吧.你的PC就是服务器,花生壳提供的自定义二级域名轻松访问你的个人网站. 1.首先你得注册哦,然后申请免费的域名(2个) 2.设置路由器,下面 ...

  7. C#联机获取公网IP

    C#获取IP的方式有很多种,这里通过http://www.ipip.net/这个稳定的在线IP库的来获取公网IP. string tempip = "0.0.0.0"; WebRe ...

  8. Python检测IP合法 是否为公网IP

    判断IP 格式是否正确 def check_value(self, ipaddr): '''检查IP是否合法 :param ipaddr: string :return True ''' addr=i ...

  9. C#获取本机公网IP

    /// <summary> /// 获取本机公网IP /// </summary> /// <returns></returns> public sta ...

随机推荐

  1. View Controller Transition:京东加购物车效果

    冬天已经过去了,阳光越来越暖洋洋的了.还记得上学的时候,老师总说"春天是播种的季节",而我还没在朋友圈许下什么愿望.一年了,不敢想象回首还能看到点什么,所以勇往直前.当被俗世所扰, ...

  2. js DOM操作---登录例子总结

    简单的总结下用 javascript DOM 实现简易登录框例子,下面是简单的模拟登录,没有具体的登录样子,但只是模拟,整理下思路. 页面简单布局,我这个确实太简单了,看代码: <body> ...

  3. 给ubuntu安装VNC远程桌面

    (只有背景,没有菜单栏问题没有解决)Virtual Network Computing(VNC)是进行远程桌面控制的一个软件.客户端的键盘输入和鼠标操作通过网络传输到远程服务器,控制服务器的操作.服务 ...

  4. JAVA 在程序中存储和修改信息

    1.语句和表达式 计算机程序是一组告诉计算机什么的指令,每一个指令称为语句. 2.指定变量类型 变量名.变量存储的信息类型 整型int(-2.14*109~2.14*109).浮点型float(38位 ...

  5. 每天一个linux命令(54)--watch命令

    watch是一个非常实用的命,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省的你一遍遍的手动运行,在Linux下,watch是周期性的执行下个程 ...

  6. Redis实战与 Session缓存

    C#操作Redis的库有很多,比如C# Redis Client就很好用, 在NuGet上搜索 ServiceStack.Redis  安装到项目中,将会添加以下引用 ServiceStack.Red ...

  7. iOS 原生的 UIButton 点击事件是不允许带多参数的,唯一的一个参数就是默认UIButton本身 那么我们该怎么实现传递多个参数的点击事件呢?

    UIButton *btn = // create the button objc_setAssociatedObject(btn, "firstObject", someObje ...

  8. Jquery弹出窗口

    今天讲了Jquery的弹出窗口的组成和用法: 先把引用文件的代码写好: // 每个弹窗的标识 var x =0; var idzt = new Array(); var Window = functi ...

  9. Spark数据本地化-->如何达到性能调优的目的

    Spark数据本地化-->如何达到性能调优的目的 1.Spark数据的本地化:移动计算,而不是移动数据 2.Spark中的数据本地化级别: TaskSetManager 的 Locality L ...

  10. LoadRunner如何进行移动端性能测试

    1.录制脚本 1.1 创建脚本:新建一个用户脚本,选择Mobile Application 使用管理员身份打开VirtualUser Generator,点击[文件]->[新建脚本和解决方案], ...