原创

使用自定义域名访问 GitLab 私有仓库——一键修改 Clone 地址

温馨提示:
本文最后更新于 2025年07月23日,已超过 2 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

内容

在日常开发中,我们常常需要通过 git clone 从 GitLab 私有仓库拉取代码。如果你为 GitLab 配置了自定义域名,却在项目页面看到的 Clone 地址依然是 IP + 端口,每次复制后还要手动替换,实在令人头疼。

下面分享一个简单、有效的方法,只需修改一处配置,重启服务,即可让项目页面自动显示你的域名地址,彻底告别“动手改链接”的烦恼。


一、问题描述

  • 已为 GitLab 配置了自定义域名(如 git.example.com),并在 DNS 解析和防火墙规则中完成相应设置。
  • 在浏览器打开私有仓库项目页面时,Clone 地址仍然显示为 http://192.168.1.100:8929/your-group/your-project.git,而非 https://git.example.com/your-group/your-project.git
  • 每次复制后都要手动替换,非常不方便,也容易出错。

二、解决方案

修改 GitLab Rails 组件的主配置文件 gitlab.yml,将默认的主机名和端口改为你的域名。操作步骤如下:

  1. 打开配置文件

    sudo vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
    `
    
  2. 定位 external_url 配置
    在文件中找到类似如下的段落:

    ## GitLab settings
    gitlab:
      # Web server settings  
      host: 192.168.1.100  
      port: 8929  
      https: false
    
  3. 修改为自定义域名
    hostport 字段替换成你的域名,并根据需要启用 HTTPS:

    gitlab:
      host: git.example.com
      port: 443
      https: true
    
  4. 保存并退出编辑器
    在 Vim 中输入 :wq 保存并退出。
  5. 重启 GitLab 服务

    sudo gitlab-ctl restart
    
  6. 验证效果
    再次打开项目页面,Clone 地址将变为:

    https://git.example.com/your-group/your-project.git
    

    从此,无需再手动替换链接,直接复制即可使用。


三、小贴士

  • 如果你使用的是 HTTP(非 HTTPS),将 port 设置为 80,并将 https: false
  • 修改配置后,若页面仍然显示旧地址,可清除浏览器缓存或尝试重启服务器后再访问。
  • 若使用 Omnibus 安装包,也可通过修改 /etc/gitlab/gitlab.rb 中的 external_url 来统一设置域名,操作更简便。

正文到此结束
本文目录