在CentOS7上按照安裝GitLab,指定了外部訪問為https方式的URL,想要將其改為http方式的,且URL為IP而不是域名。
修改GitLab的配置文件/etc/gitlab/gitlab.rb,修改external_url,將原來的https域名形式改為http的IP方式格式如下:
external_url "http://xxx.xxx.xxx.xxx"
然后執(zhí)行更新配置的命令gitlab-ctl reconfigure生效。
過程中遇到的問題:
修改后無法訪問
在執(zhí)行gitlab-ctl reconfigure命令的時候可以在終端看到打印出來的配置信息,GitLab是通過Nginx提供Web服務,GitLab的配置信息會覆蓋Nginx的配置,可以在打印出來的log看到覆蓋后的Nginx的配置。這里注意在機器上的Nginx配置文件里是看不到相關配置的,這個配置是在啟動GitLab或者刷新GitLab配置時,GitLab對Nginx動態(tài)修改的。
如果在實時終端打印出來的日志中Nginx配置信息并沒有按照預期發(fā)生變化,可能是有緩存,可以多刷兩遍試試。
當Nginx配置信息正常后,依舊無法正常訪問,可能由于瀏覽器緩存引起,刪除指定網(wǎng)站的瀏覽器緩存:

刪除指定網(wǎng)站的瀏覽器緩存
勾選Disable cache刷新即可。
此時GitLab可以通過IP地址打開,顯示登錄頁,但是當輸入完賬號密碼點擊登錄后,報錯422 Unprocessable Entity,這是由于Cookie的問題,刪除之前的Cookie即可。

422 Unprocessable Entity
至此GitLab的URL修改完成,包括對應代碼倉庫Clone處顯示的URL。
常用命令
gitlab-ctl reconfigure
gitlab-ctl restart
gitlab-ctl status