下面按最常见的场景给你讲:在 Linux 服务器上自建 GitLab(Omnibus 安装) 如何配置 HTTPS / SSL。
GitLab 自带支持。
比如:
gitlab.example.com.crtgitlab.example.com.key编辑配置文件:
sudo vim /etc/gitlab/gitlab.rb
external_url 'https://gitlab.example.com'
⚠️ 必须是 https://
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/*
nginx['redirect_http_to_https'] = true
nginx['listen_https'] = true
nginx['listen_http'] = false
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']
GitLab 会自动:
sudo gitlab-ctl reconfigure
重启(一般 reconfigure 已包含):
sudo gitlab-ctl restart
确保开放:
sudo ufw allow 443
sudo ufw allow 80 # 申请 Let's Encrypt 时需要
浏览器访问:
https://gitlab.example.com
无证书警告即成功 ✅
✅ 解决:
GitLab 自带 Nginx,不要再用系统 Nginx 占 80/443
告诉我你是:
我可以给你对应版本配置。
需要我帮你写完整 gitlab.rb 示例或Docker Compose SSL 配置吗?