在 Debian 上部署的 GitLab 开启 HTTPS,通常有两种常见场景:** Omnibus 包安装(官方推荐)** 和 源码/容器部署。下面以**最常见的 Omnibus GitLab(apt 安装)**为例说明。
编辑配置文件:
sudo vi /etc/gitlab/gitlab.rb
修改或添加以下内容(假设域名是 gitlab.example.com):
external_url 'https://gitlab.example.com'
letsencrypt['enable'] = true
letsencrypt['auto_renew'] = true
⚠️ 确保 DNS 已解析到服务器 IP,并且 80 / 443 端口可访问
sudo gitlab-ctl reconfigure
GitLab 会自动申请证书并启用 HTTPS。
通常需要:
/etc/gitlab/ssl/gitlab.example.com.crt/etc/gitlab/ssl/gitlab.example.com.key创建目录:
sudo mkdir -p /etc/gitlab/ssl
sudo chmod 700 /etc/gitlab/ssl
external_url 'https://gitlab.example.com'
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.com.key"
sudo gitlab-ctl reconfigure
默认已开启。如未生效,可显式配置:
nginx['redirect_http_to_https'] = true
确保:
sudo ufw allow 80
sudo ufw allow 443
或(iptables / firewalld 同理)
浏览器访问:
https://gitlab.example.com
如证书不被信任(自签证书),需手动信任或导入 CA。
sudo gitlab-ctl tail nginx
external_url 'https://gitlab.example.com:8443'
如果你能补充说明:
我可以给你更精确的配置示例。