自部署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
結束!
