Nginx配置反向代理访问 Gitlab

简介

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

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

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

  • gitlab 的域名
    external_url '域名'git

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

添加 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;
    }
}
相关文章
相关标签/搜索