2

我不知道如何在没有通配符域的自托管 Gitlab 实例上设置 Gitlab 页面。例如,我有 1 台服务器,有 3 个公共 IP 地址和域名:

  • 10.8.0.10 (git.example.com) - GitLab 主实例
  • 10.8.0.11 (registry.example.com) - 容器注册表
  • 10.8.0.12 (pages.example.com) - GitLab 页面

然后'我像这样设置 Omnibus 配置/etc/gitlab/gitlab.rb

external_url 'https://git.example.com'
nginx['enable'] = true
nginx['listen_addresses'] = ['10.8.0.10']


registry_external_url 'https://registry.example.com'
registry_nginx['enable'] = true
registry_nginx['listen_addresses'] = ['10.8.0.11']
registry_nginx['ssl_certificate'] = "/etc/gitlab/ssl/git.example.com.crt"
registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/git.example.com.key"

pages_external_url 'https://pages.example.com'
pages_nginx['enable'] = false
gitlab_pages['enable'] = true
gitlab_pages['cert'] = "/etc/gitlab/ssl/pages.example.com.crt"
gitlab_pages['cert_key'] = "/etc/gitlab/ssl/pages.example.com.key"
gitlab_pages['external_http'] = ['10.8.0.12:80']
gitlab_pages['external_https'] = ['10.8.0.12:443']

例如,我有一个位于https://git.example.com/somegroupname/project的项目。我可以通过https://registry.example.com/somegroupname/project访问该项目的容器注册表,并使用命令拉取 Docker 映像docker pull registry.example.com/somegroupname/project

我知道 GitLab Pages 将命名空间设置为 A 记录。就我而言,它设置为https://somegroupname.pages.example.com/project,但我无法使用此类域名。相反,我想将命名空间放在这样的路径中:
https://pages.example.com/somegroupname/project
但我找不到任何设置或参数来启用此行为,并且它不适用于当前设置。所有页面都正确存储在默认路径/var/opt/gitlab/gitlab-rails/shared/pages/中。可以请人帮助我吗?

4

0 回答 0