温馨提示×

debian gitlab如何开https

小樊
45
2026-10-05 10:29:10
栏目: 智能运维

在 Debian 上给 GitLab 开启 HTTPS,通常有两种常见方式:


一、使用 GitLab 自带 Nginx(推荐,简单)

1. 准备 SSL 证书

你可以使用:

  • 自签名证书(测试用)
  • Let’s Encrypt 免费证书(生产推荐)

使用 Let’s Encrypt(推荐)

sudo apt install certbot
sudo certbot certonly --webroot -w /var/www/html -d gitlab.example.com

证书位置:

  • 证书:/etc/letsencrypt/live/gitlab.example.com/fullchain.pem
  • 私钥:/etc/letsencrypt/live/gitlab.example.com/privkey.pem

2. 修改 GitLab 配置

编辑配置文件:

sudo vim /etc/gitlab/gitlab.rb

关键配置:

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

nginx['redirect_http_to_https'] = true

nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.example.com/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.example.com/privkey.pem"

如果是自签名证书:

nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key"

3. 重新配置 GitLab

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

4. 防火墙(如有)

sudo ufw allow 443
sudo ufw allow 80

二、使用外部 Nginx / Apache 反向代理(进阶)

如果你 不用 GitLab 自带的 Nginx:

nginx['enable'] = false
web_server['external_users'] = ['www-data']

然后在外层 Nginx 配置 HTTPS,并 proxy_pass 到 gitlab-workhorse。


三、自签名证书生成示例(测试)

sudo mkdir -p /etc/gitlab/ssl
sudo openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -keyout /etc/gitlab/ssl/gitlab.key \
  -out /etc/gitlab/ssl/gitlab.crt

四、验证

浏览器访问:

https://gitlab.example.com

如果你愿意,可以告诉我:

  • GitLab 版本
  • 是否使用域名
  • 是否是内网 / 公网
  • 是否已有证书

我可以直接给你一份 可用的配置示例。

0 踩