Gitlab 链接到 "https://gitlab/"
Gitlab links to "https://gitlab/"
我从官方镜像 gitlab/gitlab-ce:latest
在 docker 容器中安装了 gitlab。此映像包含文件 gitlab.rb
中的所有配置。 https 由 nginx 反向代理完成。
我的问题是,当 gitlab 对自己有绝对 link 时,它总是 link 到 https://gitlab/
。该主机也可以在 "New group" 对话框中看到:
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替换了错误的url。这适用于屏幕截图中的外观,但不适用于 links:
sub_filter 'https://gitlab/' 'https://$host/';
sub_filter_once off;
您已在映射卷中正确设置 url /etc/gitlab/gitlab.rb
external_url 'https://git.mydomain.com'
运行 sudo gitlab-ctl reconfigure
使更改生效。
问题已解决。它在 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/;
我从官方镜像 gitlab/gitlab-ce:latest
在 docker 容器中安装了 gitlab。此映像包含文件 gitlab.rb
中的所有配置。 https 由 nginx 反向代理完成。
我的问题是,当 gitlab 对自己有绝对 link 时,它总是 link 到 https://gitlab/
。该主机也可以在 "New group" 对话框中看到:
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替换了错误的url。这适用于屏幕截图中的外观,但不适用于 links:
sub_filter 'https://gitlab/' 'https://$host/';
sub_filter_once off;
您已在映射卷中正确设置 url /etc/gitlab/gitlab.rb
external_url 'https://git.mydomain.com'
运行 sudo gitlab-ctl reconfigure
使更改生效。
问题已解决。它在 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/;