温馨提示×

linux gitlab怎样配置域名

小樊
37
2026-09-19 15:13:49
栏目: 云计算

在 Linux 上部署 GitLab 并配置域名,通常分为以下几个步骤。以下以 Omnibus 版 GitLab(最常见的官方安装方式) 为例。


一、前提条件

  1. 已安装 GitLab(社区版 / 企业版均可)
  2. 拥有一个域名(如 git.example.com
  3. 域名已解析到服务器公网 IP(A 记录)
  4. 服务器开放了 80 / 443 端口

二、修改 GitLab 域名配置

1. 编辑 GitLab 配置文件

sudo vi /etc/gitlab/gitlab.rb

2. 修改 external_url

找到或添加:

external_url 'https://git.example.com'

如果是 HTTP:

external_url 'http://git.example.com'

三、配置 HTTPS(推荐)

方式一:使用 GitLab 自带 Let’s Encrypt(最简单)

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']

GitLab 会自动申请证书并配置 Nginx。


方式二:使用已有 SSL 证书

把你自己的证书放到:

/etc/gitlab/ssl/git.example.com.crt
/etc/gitlab/ssl/git.example.com.key

并在 gitlab.rb 中确认:

nginx['ssl_certificate'] = "/etc/gitlab/ssl/git.example.com.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/git.example.com.key"

四、重新配置 GitLab

每次修改配置后都必须执行:

sudo gitlab-ctl reconfigure

重启服务(可选):

sudo gitlab-ctl restart

五、配置域名解析(DNS)

在你的域名服务商后台:

类型 主机记录
A git 服务器公网 IP

示例:

git.example.com → 1.2.3.4

六、防火墙 / 安全组

确保放行:

# firewall
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

云服务器还要在 安全组 放行 80 / 443。


七、验证

浏览器访问:

https://git.example.com

如果能打开 GitLab 登录页,说明配置成功。


八、常见问题

1. 访问提示 502

  • 内存不足(至少 4G)
  • 端口被占用
  • gitlab-ctl status 查看服务

2. 还是 IP 访问

  • external_url 未改
  • 未执行 gitlab-ctl reconfigure

3. 使用反向代理(Nginx / Caddy)

可关闭 GitLab 自带 Nginx:

nginx['enable'] = false

再由外部 Nginx 代理 /


如果你告诉我:

  • GitLab 安装方式(Omnibus / Docker / 源码)
  • 是否使用 HTTPS
  • 是否是内网 / 云服务器

我可以给你更精确的配置示例

0