![Apache2 mod_proxy 与 gitlab 在不同服务器上](https://linux22.com/image/602937/Apache2%20mod_proxy%20%E4%B8%8E%20gitlab%20%E5%9C%A8%E4%B8%8D%E5%90%8C%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A.png)
我迫切地想在多层设置中配置 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 同时使用RewriteRule
和ProxyPass
是有疑问的。尝试不使用重写规则。此外,您提到连接到后端是可行的。您在代理机器上尝试过吗?