apache反向代理连接本地gitlab失败

Feng_Yu 发布于 2014/08/30 10:21
阅读 1K+
收藏 0

服务器ubuntu server 12.04,使用官方安装包安装了gitlab,并且按照官方文档配置/etc/gitlab/gitlab.rb,已经可以正常启动了。现在有下面的问题。

服务器的80端口已经被apache占用,并且挂有不少子站,我想将gitlab作为apache的一个子站/gitlab进行访问,于是想到了反向代理,但总是不能成功。/etc/gitlab/gitlab.rb中设置 external_url 'http://mydomain.com:8000',将gitlab中的nginx端口设置为8000端口,我想用https://mydomain.com/gitlab访问。

我的配置:

<Location /gitlab>
        ProxyPreserveHost on
        ProxyPass http://127.0.0.1:8000
        ProxyPassReverse http://127.0.0.1:8000
    </Location>



但是curl访问https://mydomain.com/gitlab的时候,那个302跳转不对:

curl -kv https://mydomain.com/gitlab
> GET /gitlab HTTP/1.1
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: mydomain.com
> Accept: */*
> 
< HTTP/1.1 302 Found
< Date: Fri, 29 Aug 2014 15:54:14 GMT
< Server: nginx
< Content-Type: text/html; charset=utf-8
< Status: 302 Found
< X-Frame-Options: SAMEORIGIN
< X-XSS-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
< Location: http://mydomain.com/users/sign_in
< Cache-Control: no-cache
< X-Request-Id: 7bc38467-d830-4014-bd84-8200f611a37e
< X-Runtime: 0.041407
< Set-Cookie: _gitlab_session=d333f547d291fb0d24acc6e8dd7f301a; path=/; HttpOnly
< Set-Cookie: request_method=GET; path=/
< Transfer-Encoding: chunked
< 
* Connection #0 to host mydomain.com left intact
* Closing connection #0
* SSLv3, TLS alert, Client hello (1):
<html><body>You are being <a href="http://mydomian.com/users/sign_in">redirected</a>.</body></html>



响应头那个Location的地址并没有加上/gitlab,无法访问到,请问应该如何设置?

加载中
0
itxx
itxx
gitlab从某个版本开始已经取消了对子目录方式访问的支持,你得解析一个单独的域名主机名到gitlab
Feng_Yu
Feng_Yu
回复 @itxx : 单台服务器,没有买域名,属于公共资源服务器,扔了多套团队系统而已。所以无法通过域名+虚拟主机的方式。只好暴漏一个端口出去,用ip+端口方式访问了。
itxx
itxx
回复 @Feng_Yu : 抱歉我之前说错了,是不推荐,或者逐渐的不再提供相应的支持了,我还是建议你直接Apache转发个单独的域名到gitlab,毕竟你环境里面Apache都用了很久
Feng_Yu
Feng_Yu
仔细看了一下文档与老外的探讨,实际是可以的,但是源码部分的注释是不推荐增加子目录。修改几个文件之后重新bundle。我按照那个文档操作,到最后的bundle无法执行,只好放弃了。最后只好把nginx的端口暴漏出去
0
W-zq
W-zq
请问你解决这个问题了吗。我也想要知道怎么弄
W-zq
W-zq
回复 @Feng_Yu : 想改用Apache,官网只说了把nginx设置成false。然后就没了。真是的
Feng_Yu
Feng_Yu
放弃了,最后还是让gitlab绑定了其他端口
返回顶部
顶部