nginx反向代理gitlab

gitlab本身是自带nginx的,但有的时候我们希望使用外部已有的nginx,比如我们希望外部的nginx可以反向代理gitlab/redmine/confluence等软件,用户只需要访问外部nginx的端口就可以了。

配置gitlab

编辑gitlab配置文件

$ vim /etc/gitlab/gitlab.rb

# 让gitlab的内置nginx监听7000端口
nginx['listen_port'] = 7000

# 设置gitlab的访问路径(是通过外部nginx反向代理访问的)
external_url 'http://域名/gitlab'

让配置生效

# 让配置生效
$ gitlab-ctl reconfigure
$ gitlab-ctl restart

配置外部nginx

编辑nginx配置文件

$ vim /etc/nginx/nginx.conf

http {
    ...
    upstream git {
        server  localhost:7000;
    }
    server {
        listen 80;
        server_name 域名;
        location /gitlab {
            # 设置最大允许上传单个的文件大小
            client_max_body_size 1024m;
            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/gitlab;
            index index.html index.htm;
        }
    }
    ...
}

重启nginx

# 检测配置是否正确
$ nginx -t

# 重启nginx
$ nginx -s reload

这样就可以通过访问 http://域名/gitlab 来访问gitlab服务器了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 上一篇《WEB请求处理一:浏览器请求发起处理》,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建...
    七寸知架构阅读 81,484评论 21 356
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,793评论 19 139
  • 第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的“同行”Apache吧!Ngi...
    JokerW阅读 32,895评论 24 1,002
  • (一时多愁善感,写下此文) 虽然我只有三十几岁 但我觉得自己老了 我想我是老了 我不再像...
    菊里夫人阅读 1,917评论 0 1
  • 听着 周泊豪的宏愿 离开假使因为性格,性格由你选 今天是吴昊宝宝出生的日子 感动一个人比感动世界难 曾经的我,太自...
    even_ff97阅读 1,826评论 0 1