apache2.4 反向代理到 nginx gitlab 服务器

apache2.4 反向代理到 nginx gitlab 服务器

我目前正在我的 raspberry pi 4 8​​GB(在 dietpi 7.3 上运行)上运行基于 apache 2.4 webserver 的 owncloud 服务器,它运行良好,我有一个公共域设置并使用 letsencrypt 创建证书。我现在还想在这个 pi 上设置一个 gitlab 服务器,gitlab 服务器正在运行,并且可以通过它的 IP 地址和端口(192.168.1.234:1234)在我的本地网络内访问。我已经设置了external_url/etc/gitlab/gitlab.rb运行127.0.0.1:1234gitlab-ctl reconfigure

我现在想从 apache 服务器配置一个反向代理来指向 gitlab NGINX(编辑以澄清:反向代理应该从相对 url(在我的情况下为 mydomain.com/gitlab))服务器工作,所以我添加了该文件gitlab.conf并将/etc/apache2/sites-available/以下内容添加到文件中:

<VirtualHost *:80>
        ServerName mydomain.com
        ProxyRequests off
        <Location /gitlab>
                ProxyPass http://localhost:1234
                ProxyPassReverse http://localhost:1234
        </Location>
</VirtualHost>

<VirtualHost *:443>
        ServerName mydomain.com

        # Certificate
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/mydomain.com/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/mydomain.com/fullchain.pem

        <Location /gitlab>
                ProxyPass  http://localhost:1234
                ProxyPassReverse http://localhost:1234
        </Location>
</VirtualHost>

问题是这不起作用.. 去 mydomain.com/gitlab 只会给我留下一个404 未找到

(当然,systemctl restart apache2当我在配置中更改某些内容时,我也总是使用 重新启动 apache2,并且我还使用 将站点添加到 apache 服务器,a2ensite gitlab.conf并且我还启用了模块proxyproxy_http使用a2enmod

我现在还知道我很可能会遇到更多问题,比如无法在 gitlab 中显示正确的 URL 等等,但我对如何解决这些问题有一个大致的想法,并且想先解决这个问题,然后在遇到这些问题后再开始着手解决。

互联网上的其他资源并没有太大帮助,因为我尝试时发现没有一个起作用,所以对此的任何帮助或见解都非常感谢。

/captainjack

答案1

由于您正在代理本地主机,nginx 找不到主持人标题任何地方,你的 gitlab 安装似乎不是默认虚拟主机。尝试添加

ProxyPreserveHost On

进入你的 apache 配置。进入两个 vhost 部分。

相关内容