Home > Enterprise >  Gitlab clone button and Integrations with custom URL
Gitlab clone button and Integrations with custom URL

Time:05-19

I'm using gitlab on a relative url domain.com/gitlab behind a reverse proxy, however I'm having some troubles with a few features.

I had to set external_url=http://<ip-address>:<port> to be able to access gitlab with my reverse proxy. When I create a project gitlab shows the correct project url in the creation process https://my.domain.com/gitlab/<username|groupname>/<newprojectname> as well as in the settings of existing projects. However the clone button still shows http://<ip-address>:<port>/gitlab/<username|groupname>/<newprojectname> which of course isn't working. I've added the slack webhook integration to receive updates on merge requests, pushs, etc. and it's the same problem there. The slack messages have links which look something like this http://<ip-address>:<port>/gitlab/<username|groupname>/<someidentifier>.

Could this be a problem with the gitlab version or am I missing some settings?

Gitlab gitlab/gitlab-ce:14.9.4-ce.0

gitlab_rails['gitlab_shell_ssh_port'] = 2224
external_url 'http://<server-ip-address>:<docker-port>/gitlab/'
gitlab_rails['trusted_proxies'] = ['<server-ip-address>']
nginx['proxy_set_headers'] = {
  "X-Forwarded-Proto" => "https",
  "X-Forwarded-Ssl" => "on",
  "Host" => "my.domain.com",
  "X-Real-IP" => "$$remote_addr",
  "X-Forwarded-For" => "$$proxy_add_x_forwarded_for",
}

Nginx: nginx:1.21.6-alpine

##############
##  GITLAB  ##
##############
  location /gitlab/ {
    root /home/git/gitlab/public;

    client_max_body_size 0;

    proxy_http_version 1.1;
    proxy_pass http://<server-ip-address>:<docker-port>/gitlab/;

    gzip                    off;

    proxy_read_timeout      300;
    proxy_connect_timeout   300;
    proxy_redirect          off;


    proxy_set_header    Host                $host;
    proxy_set_header    X-Real-IP           $remote_addr;
    proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
    proxy_set_header    X-Forwarded-Proto   https;
    proxy_set_header    X-Forwarded-Ssl     on;
  }

CodePudding user response:

See the documentation for Installing GitLab under a Relative URL. It involves changing configuration in a few different files.

CodePudding user response:

For anyone else trying this, the following worked for me:

gitlab_rails['gitlab_shell_ssh_port'] = 2224
external_url 'https://my.domain.com/gitlab/'
nginx['listen_port'] = 8929
nginx['listen_https'] = false
nginx['proxy_set_headers'] = {
  "X-Forwarded-Proto" => "https",
  "X-Forwarded-Ssl" => "on",
  "Host" => "$$host",
  "X-Real-IP" => "$$remote_addr",
  "X-Forwarded-For" => "$$proxy_add_x_forwarded_for",
}
 location /gitlab/ {
    root /home/git/gitlab/public;

    client_max_body_size 0;

    proxy_http_version 1.1;
    proxy_pass http://<server-ip-address>:8929/gitlab/;

    gzip                    off;

    proxy_read_timeout      300;
    proxy_connect_timeout   300;
    proxy_redirect          off;


    proxy_set_header    Host                $host;
    proxy_set_header    X-Real-IP           $remote_addr;
    proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
    proxy_set_header    X-Forwarded-Proto   https;
    proxy_set_header    X-Forwarded-Ssl     on;
  }
  • Related