ale*_*fer 6 self-hosting gitlab gitlab-omnibus gitlab-api gitlab-pages
我不知道如何在没有通配符域的自托管 Gitlab 实例上设置 Gitlab 页面。例如,我有1台服务器,有3个公共IP地址和域名:
/etc/gitlab/gitlab.rb然后我像这样设置 Omnibus 配置:
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']
Run Code Online (Sandbox Code Playgroud)
例如,我有一个位于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/。有人可以帮我吗?
GitLab 16.7(2023 年 12 月)现在应该支持这一点:
\n\n\n使用没有通配符 DNS 的 GitLab 页面
\n以前,要创建 GitLab Pages 项目,您需要一个格式类似于
\nname.example.io或 的域name.pages.example.io。
\n此要求意味着您必须设置通配符 DNS 记录和 SSL/TLS 证书。在 GitLab 16.7 中,您可以设置没有DNS 通配符的 GitLab Pages 项目。此功能是一个实验。
\n取消对通配符证书的要求可以减轻与 GitLab 页面相关的管理开销。由于组织对通配符 DNS 记录或证书的限制,某些客户无法使用 GitLab Pages。
\n我们欢迎在问题 434372中提供与此功能相关的反馈。
\n\n
| 归档时间: |
|
| 查看次数: |
1591 次 |
| 最近记录: |