Apache2 mod_proxy 与 gitlab 在不同服务器上

Apache2 mod_proxy 与 gitlab 在不同服务器上

我迫切地想在多层设置中配置 gitlabhq,我有一个代理服务器 websrv01.kosare.perlur.cz,我在其中使用 mod_proxy 运行 Apache2,然后我在不同的服务器上运行多个 Web 应用程序。我有一个 gitlab-backend.kosare.perlur.cz,我在其中安装了 gitlabhq,当我尝试连接到 10.10.2.2:8080(这是我运行 gitlab 的 unicorn 服务器的 IP 和端口)时,它工作正常,但是当我尝试使用 gitlab.kosare.perlur.cz(代理服务器上的虚拟主机,将请求转发到 gitlab-backend)时,它不起作用,它卡住了。

我在代理服务器上的配置文件如下所示。

<虚拟主机 *:80>
    服务器名称 gitlab.kosare.perlur.cz

    重写引擎开启

    <代理平衡器://unicornservers>
        平衡器成员 http://10.10.2.2:8080
    </代理>

    # 将所有非静态请求重定向到 Thin
    重写规则 ^/(.*)$ balancer://unicornservers%{REQUEST_URI} [P,QSA,L]

    ProxyPass / balancer://unicornservers/
    ProxyPassReverse / balancer://unicornservers/
    ProxyPreserveHost 关闭

    <代理平衡器://unicornservers/>
        命令拒绝、允许
        允许所有人
    </代理>

    # 自定义日志文件位置
    错误日志 /var/log/apache2/gitlab.kosare.perlur.cz_error.log
    CustomLog /var/log/apache2/gitlab.kosare.perlur.cz_access.log 合并

</虚拟主机>

有人知道如何使这个设置工作吗?

答案1

不确定这是否是答案,但我发现对相同的 URL 同时使用RewriteRuleProxyPass是有疑问的。尝试不使用重写规则。此外,您提到连接到后端是可行的。您在代理机器上尝试过吗?

相关内容