Gitlab 反向代理

前言

按照网上教程, 安装的 gitlab-ce 是自带 nginx 的, 但是若是有其它工具(如宝塔)来管理服务器的 nginx, gitlab 自带的 nginx 就没什么用了

关闭 Gitlab Nginx

在以下两个配置文件中修改, 请注意示例中

  • 域名: sub.domain.com 请替换为自己的站点 domain
  • 本地端口: 0.0.0.0:10080 可修改端口

1. 配置文件 gitlab.rb

1
/etc/gitlab/gitlab.rb

在文件中找到以下配置并修改

1
2
3
4
5
6
7
nginx['enable'] = false
external_url 'https://sub.domain.com'
gitlab_workhorse['enable'] = true
gitlab_workhorse['listen_network'] = "tcp"
gitlab_workhorse['listen_addr'] = "0.0.0.0:10080"
gitlab_rails['trusted_proxies'] = ["localhost"]
gitlab_rails['gitlab_ssh_host'] = 'sub.domain.com'

2. 配置文件 gitlab.yml

1
/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

在文件中找到以下配置并修改

1
2
3
4
5
6
## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: sub.domain.com
port: 443
https: true

3. 使 Gitlab 生效

重读配置

1
gitlab-ctl reconfigure

或 重启

1
gitlab-ctl restart

宝塔配置

宝塔版本 v9.2.0

1. 添加反代

注意红色箭头位置与之前 Gitlab 下的文件配置一致

添加反代

2. 反代设置 (支持 SSL)

为代理目录 / 添加自定义配置

1
proxy_set_header X-Forwarded-Ssl on;

反代设置 (支持SSL)

*此处同时也可以管理 SSL 证书的签发/自动续签

总结一下