我目前正在我的 raspberry pi 4 8GB(在 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:1234
了gitlab-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
并且我还启用了模块proxy
并proxy_http
使用a2enmod
)
我现在还知道我很可能会遇到更多问题,比如无法在 gitlab 中显示正确的 URL 等等,但我对如何解决这些问题有一个大致的想法,并且想先解决这个问题,然后在遇到这些问题后再开始着手解决。
互联网上的其他资源并没有太大帮助,因为我尝试时发现没有一个起作用,所以对此的任何帮助或见解都非常感谢。
/captainjack
答案1
由于您正在代理本地主机,nginx 找不到主持人标题任何地方,你的 gitlab 安装似乎不是默认虚拟主机。尝试添加
ProxyPreserveHost On
进入你的 apache 配置。进入两个 vhost 部分。