下面以 Ubuntu + 官方 GitLab 包(Omnibus GitLab) 为例,说明如何给 GitLab 配置 SSL(HTTPS)。
GitLab 自带 Let’s Encrypt 支持。
常见文件:
gitlab.example.com.crtgitlab.example.com.key编辑配置文件:
sudo vim /etc/gitlab/gitlab.rb
external_url 'https://gitlab.example.com'
⚠️ 必须是 https://
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']
letsencrypt['auto_renew'] = true
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
nginx['redirect_http_to_https'] = true
sudo gitlab-ctl reconfigure
确保开放:
sudo ufw allow 80
sudo ufw allow 443
浏览器访问:
https://gitlab.example.com
external_url 是 httpssudo gitlab-ctl tail nginx
date
如果你用的是 Docker / 源码安装 / 反向代理(Nginx),可以告诉我,我可以给你对应方案。