Redhat7安装gitlab-ce-11.1.4-ce.0.el7.x86_64这个版本后访问出现502,问题分析与解决方法
工具/原料
redhat7.4x64
临时解决方法
1、启动gitlab:gitlab-ctlstart浏览器访问(IP地址为安装gitlab机器的地址):http://10.19.206.119:8081报错502,如图
2、检查报错原因:gitlab-rakegitlab:check,发现配置文件/opt/gitlab/embedded/service/gitlab-shell/config.yml有报错
3、查看/opt漆虱忧甘/gitlab/embedded/service/gitlab-shell/config.yml文件:vi/opt/gitlab/embedded/service/gitlab-s茑霁酌绡hell/config.yml出现图信息,注意红框里面的内容,意思是:gitlab_url应该以斜杠结尾而我们发现,改配置文件gitlab_url却没有以斜杠结尾,问题找到了
4、开始解决问题,编辑配置文件/opt/gitlab/embedded漆虱忧甘/service/gitlab-shell/config.yml在端口号8081后面加上斜线“/”,重新加载配置执行命令git造婷用痃lab-ctlreconfigure,即可临时解决此问题,但实践后发现,执行gitlab-ctlreconfigure后/opt/gitlab/embedded/service/gitlab-shell/config.yml文件会被还原,所以第二次执行gitlab-ctlreconfigure之前要重新加上斜杠。
永久解决方法
1、执行gitlab-ctlreconfigure后/opt/gitlab/embedded/service/gitlab-shell/config.yml文件会被还原,后面又得重新去加斜杠,这个问题可能是此版本的bug,要修复这个bug就得去修改代码
2、经过复杂又费时的代码相关性分析,最终发现相关bug代码在文件:/opt/gitlab/embedded/cookbooks/gitlab/recipes/itlab-shell.rb里面,具体位置在第58行
3、第58行修改前:api_url||="http://#{node['壹执慵驾gitlab'柯计瓤绘]['unicorn']['listen']}:#{node['gitlab']['unicorn']['port']}#{node['gitlab']['unicorn']['relative_url']}"修改后(替换端口、最后加上斜杠):api_url||="http://#{node['gitlab']['unicorn']['listen']}:#{node['gitlab']['gitlab-rails']['gitlab_port']}#{node['gitlab']['unicorn']['relative_url']}/"
4、最后重新配置、重启gitlab-ctlreconfiguregitlab-ctlrestart这样就可以彻底解决gitlab这个因为bug导致的报错了