温馨提示×

debian gitlab怎么开启https

小樊
52
2026-10-20 01:35:07
栏目: 智能运维

在 Debian 上部署的 GitLab 开启 HTTPS,通常有两种常见场景:** Omnibus 包安装(官方推荐)** 和 源码/容器部署。下面以**最常见的 Omnibus GitLab(apt 安装)**为例说明。


一、使用 Let’s Encrypt 自动 HTTPS(最简单,推荐)

1. 修改 GitLab 配置

编辑配置文件:

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 端口可访问

2. 重新配置 GitLab

sudo gitlab-ctl reconfigure

GitLab 会自动申请证书并启用 HTTPS。


二、使用自有 SSL 证书(企业内网常用)

1. 准备证书文件

通常需要:

  • 证书:/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

2. 修改配置

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"

3. 重新配置

sudo gitlab-ctl reconfigure

三、强制 HTTP 跳转 HTTPS(可选)

默认已开启。如未生效,可显式配置:

nginx['redirect_http_to_https'] = true

四、防火墙与端口检查

确保:

sudo ufw allow 80
sudo ufw allow 443

或(iptables / firewalld 同理)


五、验证

浏览器访问:

https://gitlab.example.com

如证书不被信任(自签证书),需手动信任或导入 CA。


六、常见问题

1. Let’s Encrypt 失败

  • 检查 80 端口是否开放
  • 域名是否正确解析
  • 日志查看:
sudo gitlab-ctl tail nginx

2. 修改端口(非 443)

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

如果你能补充说明:

  • GitLab 安装方式(apt / docker / 源码)
  • 是否内网 / 公网
  • 是否有域名

我可以给你更精确的配置示例。

0 踩