GItlab Pages configuration

Hi everyone,

We’re running a self managed gitlab 16.1.5 through docker compose, and it’s soon to upgrade to 16.4.0 next week. Ports 22,80,443,5050 are open and gitlab data, logs and configuration folders are configured in distinct volumes. It is served by a haproxy that handles SSL encryption on a let’s encrypt basis. Pages are to be served on gitlab-doc.corp.domain.com while the gitlab server is hosted at gitlab.corp.domain.com

We have several pipelines that deploy to gitlab pages successfully but the pages can’t be reached by any browser. We’re getting a page not found (DNS_PROBE_FINISHED_NXDOMAIN error) when we’re
trying to reach https://group.gitlab-doc.corp.domain.com/project_name
Pages files for this project and others are indeed present in /var/opt/gitlab/gitlab-rails/shared/pages on the gitlab folder.

I can’t see what’s wrong with this configuration, thanks for your assistance, for any lead that might help.

Here’s our gitlab.rb configuration file :

external_url 'https://gitlab.corp.domain.com'
gitlab_rails['time_zone'] = "Europe/Paris"
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.office365.com"
gitlab_rails['smtp_port'] =  "587"
gitlab_rails['smtp_user_name'] = "no-reply@domain.com"
gitlab_rails['smtp_password'] = "xxxx"
gitlab_rails['smtp_domain'] = "domain.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = "no-reply@domain.com"
gitlab_rails['gitlab_email_reply_to'] = 'no-reply@domain.com'
gitlab_rails['monitoring_whitelist'] = ['127.0.0.0/8', '192.168.0.37']
gitlab_rails['lfs_enabled'] = true
gitlab_rails['omniauth_allow_single_sign_on'] = ['azure_activedirectory_v2']
gitlab_rails['omniauth_auto_link_user'] = ['azure_activedirectory_v2']
gitlab_rails['omniauth_providers'] = [
        {
          "name" => "azure_activedirectory_v2",
          "label" => "Azure AD", 
          "args" => {
            "client_id" => "xxx",
            "client_secret" => "xxx",
            "tenant_id" => "xxx",
          }
          }
        ]
gitlab_rails['gitlab_shell_ssh_port'] = 2222
gitlab_rails['registry_enabled'] = true
gitlab_rails['registry_host'] = "gitlab"

nginx['enable'] = true
nginx['redirect_http_to_https'] = true
nginx['listen_port'] = 80
nginx['listen_https'] = false
nginx['proxy_set_headers'] = {
  "Host" => "$http_host_with_default",
  "X-Real-IP" => "$remote_addr",
  "X-Forwarded-For" => "$proxy_add_x_forwarded_for",
  "X-Forwarded-Proto" => "https",
  "X-Forwarded-Ssl" => "on",
  "Upgrade" => "$http_upgrade",
  "Connection" => "$connection_upgrade"
  }
  
logging['svlogd_size'] = 200 * 1024 * 1024 
logging['svlogd_num'] = 30 
logging['svlogd_timeout'] = 24 * 60 * 60 
logging['svlogd_filter'] = "gzip" 


pages_external_url "https://gitlab-doc.corp.domain.com"

gitlab_pages['enable'] = true
gitlab_pages['status_uri'] = "/@status"
gitlab_pages['listen_proxy'] = "0.0.0.0:8090"
gitlab_pages['internal_gitlab_server'] = 'http://localhost:8080'
pages_nginx['enable'] = true
pages_nginx['listen_port'] = 80
pages_nginx['listen_https'] = false
pages_nginx['redirect_http_to_https'] = false

registry_external_url 'https://gitlab.corp.domain.com:5050'
registry_nginx['listen_https'] = false
registry_nginx['listen_port'] = 5050
registry_nginx['redirect_http_to_https'] = false

prometheus['enable'] = true
grafana['enable'] = true
letsencrypt['enable'] = false

DNS_PROBE_FINISHED_NXDOMAIN means you didn’t setup your DNS properly. You need a wildcard DNS record *.gitlab-doc.corp.domain.com pointing to GitLab server (or rather the HAproxy) IP.

Thanks for this insight, we’ll have a word with our IT department :wink: I’ll post an update when we’ll have confirmation about this wildcard.