0

我使用 GitLab CE 作为我的公司开发存储库,我想使用 gitlab-pages 来提供一些静态文档。

我已经为页面设置了 CI 集成,并且它可以工作(我可以在项目“页面”设置中看到站点地址,CI 工作还可以)

我使用 apache 2 作为反向代理,因此禁用了 NGINX,配置了 DNS:“docs.example.org”的 CNAME 记录和“*.docs.example.org”的 A 记录,都指向 gitlab 服务器,名为尤利西斯。

DNS 中的 Gitlab 服务器记录是“gitlab.example.org”,它通过具有 VirtualHost 配置的 apache 提供服务。

我如何设置 apache 来服务这些页面?

感谢您的帮助!

4

1 回答 1

0

我假设我试图在与 gitlab 相同的 IP 相同的服务器上提供页面,apache2 用作具有通配符虚拟主机的负载平衡器。(官方文档中的第三种情况:https ://docs.gitlab.com/ee/administration/pages/index.html )

我为 apache2 创建了一个新的 gitlab-pages.conf 文件:

<VirtualHost *:80>
    ServerName docs.example.org
    ServerAlias *.docs.example.org

    ProxyPreserveHost On
    ProxyPass "/" "http://127.0.0.1:8090/"
    ProxyPassReverse "/" "http://127.0.0.1:8090/

    RewriteEngine on
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
    RewriteRule .* http://127.0.0.1:8090%{REQUEST_URI} [P,QSA]

</VirtualHost>

几乎可以工作:http://[user].docs.example.org/[project]/站点通过设置RELATIVE_URLS = True为 SSG(在我的情况下为 perlican)提供服务,但在 Project > Settings > Pages 中显示的域地址是不是。

于 2017-09-26T07:02:11.253 回答