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