Gitlab链接到" https:// gitlab /"

时间:2016-07-26 07:22:34

标签: docker gitlab gitlab-omnibus

我在官方图片gitlab/gitlab-ce:latest的docker容器中安装了gitlab。此图像包含文件gitlab.rb中的所有配置。 Https由nginx反向代理完成。

我的问题是,当gitlab与自身有绝对链接时,它总是链接到https://gitlab/。这个主人也可以在" New group"对话框:Group path starts with https://gitlab/

Docker呼叫:

docker run \
       --name git \
       --net mydockernet \
       --ip 172.18.0.2 \
       --hostname git.mydomain.com \
       --restart=always \
       -p 766:22 \
       -v /docker/gitlab/config:/etc/gitlab \
       -v /docker/gitlab/logs:/var/log/gitlab \
       -v /docker/gitlab/data:/var/opt/gitlab \
       -d \
       gitlab/gitlab-ce:latest

gitlab.rb:

external_url 'https://git.mydomain.com'
ci_nginx['enable'] = false
nginx['listen_port'] = 80
nginx['listen_https'] = false

gitlab_rails['gitlab_shell_ssh_port'] = 766

Nginx配置:

upstream gitlab {
    server 172.18.0.2;
}
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name git.mydomain.com;

        ssl on;
        ssl_certificate /etc/ssl/certs/mydomain.com.chained.pem;
        ssl_certificate_key /etc/ssl/private/my.key;

    location / {
        proxy_pass http://gitlab/;
                proxy_read_timeout 10;
    }
}

我试图替换错误的网址机智nginx。这适用于屏幕截图中的外观,但不适用于链接:

sub_filter 'https://gitlab/' 'https://$host/';
sub_filter_once off;

2 个答案:

答案 0 :(得分:0)

您已在映射的卷/etc/gitlab/gitlab.rb

中正确设置了网址
external_url 'https://git.mydomain.com'

运行sudo gitlab-ctl reconfigure以使更改生效。

答案 1 :(得分:0)

问题解决了。它是在nginx反向代理配置中。我命名为上游" gitlab"不知怎的,这个名字发现它进入了网页:

upstream gitlab {
    server 172.18.0.2;
}
...
proxy_pass http://gitlab/;

我没想到。我甚至在原始问题中省略了上游部分,因为我认为上游名称只是一个内部名称,将被定义的ip替换。

所以对我来说,修复是将完整的域写入上游:

upstream git.mydomain.com{
    server 172.18.0.2;
}
...
proxy_pass http://git.mydomain.com/;