在 Debian 上部署的 GitLab 启用 HTTPS,通常有 两种方式:
1️⃣ 使用 GitLab 自带的 Nginx(推荐)
2️⃣ 使用外部反向代理(如独立 Nginx / Apache)
下面以 GitLab 自带 Nginx + 自有证书 为例说明(最常见)。
你需要:
gitlab.example.com.crt(证书)gitlab.example.com.key(私钥)示例目录:
/etc/gitlab/ssl/gitlab.example.com.crt
/etc/gitlab/ssl/gitlab.example.com.key
权限设置:
sudo chmod 600 /etc/gitlab/ssl/gitlab.example.com.key
编辑配置文件:
sudo vim /etc/gitlab/gitlab.rb
external_url 'https://gitlab.example.com'
nginx['enable'] = true
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.com.key"
(如果是 Let’s Encrypt)
letsencrypt['enable'] = true
letsencrypt['auto_renew'] = true
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
确保开放:
sudo ufw allow 443
sudo ufw allow 80 # 用于重定向
浏览器访问:
https://gitlab.example.com
无证书警告即成功 ✅
git config --global http.sslVerify false # 仅测试用
环境变量:
GITLAB_HTTPS=true
SSL_CERTIFICATE_PATH=/etc/gitlab/ssl/...
SSL_KEY_PATH=/etc/gitlab/ssl/...
如果你告诉我:
我可以给你 更精确的配置示例。