Nginx配置反向代理访问 Gitlab

贾珩
• 阅读 23270

简介

gitlab 作为当前企业版本控制的有力工具,非常流行,官方提供了非常方便的安装配置方式,能让我们快速的搭建一个便捷的代码版本控制系统。
但是因为 gitlab 本身内置了 nginx,当我们的 gitlab 服务要和其他 web服务共存,就需要做一点简单的改变,以适应这种情况
第一个办法是禁用 gitlab 自带的 nginx,使用我们自己安装的 nginx,这种方法我不喜欢。
第二种办法就是 配置代理服务器,继续使用 gitlab 的内置 nginx

修改 gitlab 配置(官方安装方式下,配置文件是/etc/gitlab/gitlab.rb

  • gitlab nginx 端口监听修改
    nginx['listen_port'] = 端口号

  • gitlab 的域名
    external_url '域名'

修改完上述参数 执行命令 gitlab-ctrl reconfigure

添加 nginx 代理服务器配置

upstream  git{
    # 域名对应 gitlab配置中的 external_url
    # 端口对应 gitlab 配置中的 nginx['listen_port']
    server  域名:端口;
}


server{
    listen 80;
    # 此域名是提供给最终用户的访问地址
    server_name 域名;

    location / {
        # 这个大小的设置非常重要,如果 git 版本库里面有大文件,设置的太小,文件push 会失败,根据情况调整
        client_max_body_size 50m;

        proxy_redirect off;
        #以下确保 gitlab中项目的 url 是域名而不是 http://git,不可缺少
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # 反向代理到 gitlab 内置的 nginx
        proxy_pass http://git;
        index index.html index.htm;
    }
}
点赞
收藏
评论区
推荐文章
前端尾随者 前端尾随者
3年前
GitLab配置ssh key
一、背景当前很多公司都选择git作为代码版本控制工具,然后自己公司搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择http协议,当然我们亦可以选择ssh协议来拉取代码。但是网上很少找到如何用git客户端生成sshkey,然后配置在gitlab,我当时在做的时候苦于摸索,后来终于找到了解决方案,那么本文,我们就来聊一聊如何本地git客户
Wesley13 Wesley13
3年前
(转)通过gitlab统计git提交的代码量
git的代码量大多数都是根据命令行统计,或者根据第三方插件统计。但是都不满足我的需求,因为我们代码都由gitlab管理,于是想到了通过gitlab暴露出来的接口获取数据。第一步,生成私钥登录你的gitlab申请私钥private\_token!(https://img2018.cnblogs.com/blog/1117944
Stella981 Stella981
3年前
Git 针对 GitLab Github 配置 HTTP HTTPS SSH 代理
配置git代理配置git的httphttps代理Linux和Windows都适用gitlab服务器在国外下载速度速度收到很大影响。下面对gitlab配置httphttps代理。同理也可以对github配置httphttps代理。
Stella981 Stella981
3年前
Gitlab的基础概念
1、什么是Gitlab?Gitlab是一个开源分布式版本控制系统开发语言:Ruby功能:管理项目源代码、版本控制、代码复用与查找2、Gitlab与Github的不同Github分布式在线代码托管仓库,个人版可直接在线免费使用,企业版收费且需要服务器安装。
Stella981 Stella981
3年前
Github标星34K+Star,这款开源项目助你秒建Git服务!
以前使用Gitlab搭建过Git服务,如果服务器配置低的话启动和访问都会特别慢。最近发现了Gogs这个开源项目,安装方便,特别轻量级,推荐给大家!Gogs简介Gogs是一款极易搭建的自助Git服务,使用Go语言开发,只要Go语言支持的平台它都支持,包括Linux、MacOSX、Windows以及ARM平台。Gogs对系统硬件要求
Stella981 Stella981
3年前
Gitlab 的安全漏洞是不是太多了点?
Gitlab又又又发布了重要的安全更新补丁12.4.1,12.3.6,和12.2.9,包括社区版和企业版。包含重要的安全更新,官方再次强烈建议所有Gitlab用户立即更新!!!看看从今年7月份到现在,Gitlab发布了多少安全补丁更新,每一次官方都是强烈建议立即更新!!(https://oscimg.oschina.net/
Stella981 Stella981
3年前
GitLab私服搭建
GitLab私服搭建我这里服务器系统是CentOS7,所以我搭建私服参考的是https://about.gitlab.com/downloads/centos7(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fabout.gitlab.com%2Fdownl
Stella981 Stella981
3年前
Docker安装Gitlab服务
1、安装建议:版本:GitLab分为社区版(CE)和企业版(EE)。配置:建议CPU2核,内存2G以上。2、使用Docker安装Gitlab2.1:拉取Gitlab镜像拉取中文版gitlab镜像,需要注意的是这个版本的镜像已经2年没有更新了。dockerpulltwang2218/gitl
Stella981 Stella981
3年前
GitLab 安装配置指南
GitLab在CentOS7系统上的安装配置指南1、简单介绍GitLab是利用RubyonRails开发的一个开源版本管理系统,实现一个自托管的Git管理仓库,可通过Web界面进行访问、管理控制权限。Git的家族成员介绍Git:是一种开源分布式的版本控制系统,是一个命令,是一种工具。是伟大的程
Stella981 Stella981
3年前
Git连接GitLab远程仓库
1、简介远程仓库是指托管在网络上的项目仓库,现在互联网上有很多项目托管平台,比如github、gitlab等。为了不公开自己项目代码,可以在自己的服务器上搭建自己的项目仓库,最常见的是搭建GitLab。本地Git与远端服务器GitLab之间连接方式主要分为:SSH方式和HTTP方式。HTTP方式:这种方式要求project在创建的时候只
Wesley13 Wesley13
3年前
nginx中文手册内容说明
1.什么是nginx?Nginx是一个高性能的Web和反向代理服务器,它具有有很多非常优越的特性:作为Web服务器:相比Apache,Nginx使用更少的资源,支持更多的并发连接,体现更高的效率,这点使Nginx尤其受到虚拟主机提供商的欢迎。能够支持高达50,000个并发连接数的响应,感谢Nginx为我们选择了e