gitlab 变更访问/克隆地址

官方文档

如题,原来配置gitlab通过http://ip/的方式内网访问。现在要安全加固,设置域名https访问 https://fqdn/提供外网访问。

架构:

  • gitlab架设与腾讯云内网环境,http提供服务
  • 使用腾讯云负载均衡,配置ssl证书,提供https服务
  • gitlab提供的克隆地址必须为外网访问的https地址

操作步骤如下:

  1. 修改 /etc/gitlab/gitlab.rb 文件的 external_url 配置
    修改为 "X-Forwarded-Proto" => "$scheme"
[root@VM_1_17_centos gitlab]# cat gitlab.rb  |grep -v '#' |sed '/^$/d'
external_url 'http://git.wodedizhi.com'
nginx['enable'] = true
nginx['proxy_set_headers'] = {
  "Host" => "$http_host_with_default",
  "X-Real-IP" => "$remote_addr",
  "X-Forwarded-For" => "$proxy_add_x_forwarded_for",
  "X-Forwarded-Proto" => "$scheme",
  "X-Forwarded-Ssl" => "on",
  "Upgrade" => "$http_upgrade",
  "Connection" => "$connection_upgrade"
 }
[root@VM_1_17_centos gitlab]# 

  1. 重新设置参数 gitlab-ctl reconfigure
    会根据/etc/gitlab/gitlab.rb文件内的external_url配置,设置/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml内的参数。
    这个参数即为git提供的克隆地址
  ## GitLab settings
  gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: git.wodedizhi.com
    port: 80
    https: false
  1. 手动修改/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
    自定义克隆地址配置
  ## GitLab settings
  gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: git.wodedizhi.com
    port: 443
    https: true
  1. 重启 gitlab-ctl restart
    服务端口仍然为80
    微信截图_20200228173234.png

报错处理

报错信息:
422
The change you requested was rejected.
出现这个报错,是因为没有配置第一个步骤,修改为 "X-Forwarded-Proto" => "$scheme"。

微信截图_20200228153707.png

参考文献

https://gitlab.com/gitlab-org/gitlab-foss/issues/50685

你可能感兴趣的:(gitlab 变更访问/克隆地址)