温馨提示×

ubuntu gitlab如何配ssl

小樊
33
2026-10-22 09:01:01
栏目: 云计算

下面以 Ubuntu + 官方 GitLab 包(Omnibus GitLab) 为例,说明如何给 GitLab 配置 SSL(HTTPS)。


一、准备 SSL 证书

方式 1:使用 Let’s Encrypt(推荐,免费)

GitLab 自带 Let’s Encrypt 支持。

方式 2:使用自有证书

常见文件:

  • gitlab.example.com.crt
  • gitlab.example.com.key

二、修改 GitLab 配置文件

编辑配置文件:

sudo vim /etc/gitlab/gitlab.rb

1️⃣ 设置域名和 HTTPS

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

⚠️ 必须是 https://


2️⃣ 使用 Let’s Encrypt(推荐)

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

3️⃣ 使用自有证书(如不用 Let’s Encrypt)

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

创建证书目录并放入证书:

sudo mkdir -p /etc/gitlab/ssl
sudo cp gitlab.example.com.crt /etc/gitlab/ssl/
sudo cp gitlab.example.com.key /etc/gitlab/ssl/
sudo chmod 600 /etc/gitlab/ssl/gitlab.example.com.key

三、可选:强制 HTTP 跳转 HTTPS

nginx['redirect_http_to_https'] = true

四、重新配置 GitLab

sudo gitlab-ctl reconfigure

五、防火墙 & 端口

确保开放:

sudo ufw allow 80
sudo ufw allow 443

六、验证

浏览器访问:

https://gitlab.example.com

七、常见问题

❌ 证书不生效

  • 检查证书路径
  • 确认 external_url 是 https
  • 查看日志:
sudo gitlab-ctl tail nginx

❌ Let’s Encrypt 失败

  • 域名必须公网可解析
  • 80 端口必须开放
  • 时间必须正确:
date

如果你用的是 Docker / 源码安装 / 反向代理(Nginx),可以告诉我,我可以给你对应方案。

0 踩