自部署gitlab-ce与Nginx反向代理
最近单位需要配置自有的git仓库和平台,于是采用了gitlab ce版,并且用Nginx反向代理到了宝塔安装的gitlab上。这期间出现了很多配置上导致的问题,在此记录下,方便他人参考和自己再配置。
第一,配置文件有哪些
- vi /etc/gitlab/gitlab.rb
- vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
- 宝塔的配置文件,nginx
第二,代理方案
方案一:由于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
结束!