在CentOS7上按照安装GitLab,指定了外部访问为https方式的URL,想要将其改为http方式的,且URL为IP而不是域名。
修改GitLab的配置文件/etc/gitlab/gitlab.rb
,修改external_url,将原来的https域名形式改为http的IP方式格式如下:
external_url "http://xxx.xxx.xxx.xxx"
然后执行更新配置的命令gitlab-ctl reconfigure
生效。
过程中遇到的问题:
修改后无法访问
在执行gitlab-ctl reconfigure
命令的时候可以在终端看到打印出来的配置信息,GitLab是通过Nginx提供Web服务,GitLab的配置信息会覆盖Nginx的配置,可以在打印出来的log看到覆盖后的Nginx的配置。这里注意在机器上的Nginx配置文件里是看不到相关配置的,这个配置是在启动GitLab或者刷新GitLab配置时,GitLab对Nginx动态修改的。
如果在实时终端打印出来的日志中Nginx配置信息并没有按照预期发生变化,可能是有缓存,可以多刷两遍试试。
当Nginx配置信息正常后,依旧无法正常访问,可能由于浏览器缓存引起,删除指定网站的浏览器缓存:

勾选Disable cache
刷新即可。
此时GitLab可以通过IP地址打开,显示登录页,但是当输入完账号密码点击登录后,报错422 Unprocessable Entity
,这是由于Cookie的问题,删除之前的Cookie即可。

至此GitLab的URL修改完成,包括对应代码仓库Clone处显示的URL。
常用命令
gitlab-ctl reconfigure
gitlab-ctl restart
gitlab-ctl status
网友评论