自部署gitlab-ce与Nginx反向代理——基于宝塔BT

自部署gitlab-ce与Nginx反向代理

最近单位需要配置自有的git仓库和平台,于是采用了gitlab ce版,并且用Nginx反向代理到了宝塔安装的gitlab上。这期间出现了很多配置上导致的问题,在此记录下,方便他人参考和自己再配置。

第一,配置文件有哪些

  1. vi /etc/gitlab/gitlab.rb
  2. vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
  3. 宝塔的配置文件,nginx
    gitlab宝塔配置文件图

第二,代理方案

方案一:由于gitlab自带nginx服务器其实是可以直接通过ip+端口访问,也可以直接配置其nginx,但是一般公司单位都具备nginx反向代理服务器,代理各种服务器,所以可以直接通过宝塔的网站中新建网站设置为反向代理来代理gitlab的nginx,也就是用外部nginx代理gitlab内部nginx,是不是有点绕,这是套娃阿,禁止套娃,我没有选择这种方案
方案二:关闭gitlab内部nginx,直接使用TCP协议,然后用外部nginx直接代理。

选择方案二

第三,配置

配置一:

vi /etc/gitlab/gitlab.rb 

注意以下是部分代码,重点改掉这几项,原来的配置文件这几项不再一起,是我凑在一起的,请不要重复添加,直接进行修改,端口可以自己改

# disable nginx and run tcp
nginx['enable'] = false
external_url 'https://git.iict.ac.cn'
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'] = 'git.iict.ac.cn'
web_server['external_users'] = ['www-data']

配置二,修改下gitlab.yml,开启https

vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: git.iict.ac.cn
    port: 443
    https: true

重启gitlab

gitlab-ctl restart
gitlab-ctl reconfigure

配置三,反向代理

进入宝塔,新建网站,并设置反向代理到localhost:10080
在这里插入图片描述
注意关于:422登陆错误,这是反向代理的https问题,如果你要开启https,那就必须要修改反向代理配置文件,在location /下添加如下配置

proxy_set_header X-Forwarded-Ssl on;

开启ssl forward

结束!

posted @ 2020-06-18 14:53  devilyouwei  阅读(1500)  评论(0编辑  收藏  举报