gpt4 book ai didi

docker - nginx 的 gitlab 容器代理传递不适用于推送请求

转载 作者:行者123 更新时间:2023-12-02 19:47:53 24 4
gpt4 key购买 nike

我的 docker 上有 3 个容器。我想将 gitlab 作为子域。
我的 gitlab 容器端口是:

443/tcp, 0.0.0.0:10022->22/tcp, 0.0.0.0:10080->80/tcp
gitlab 容器已使用以下命令创建:
docker run --detach --name gitlab --restart=always\
--publish 10022:22 --publish 10080:80 \
--network nginx_network \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--env 'EXTERNAL_URL=https://develop.domain.com' \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
我的 nginx 配置是:
upstream isa_fire {
server isa_fire:8000;
}
upstream gitlab {
server gitlab:80;
}
upstream gedata {
server geoserver:8080;
}



server {
listen 80;
server_name domain.com www.domain.com;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

root /usr/share/nginx/html;
index index.html index.htm;

location / {
proxy_pass http://isa_fire;
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-Host $server_name;
}


location /static/ {
alias /isa_fire/static/;
}

location /files/ {
alias /isa_fire/;
}

}

server {
listen 80;
server_name develop.domain.com www.develop.domain.com;

location / {
proxy_pass http://gitlab;
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-Host $server_name;

}
}

server {
listen 80;
server_name geoserver.domain.com www.geoserver.domain.com;

location / {
proxy_pass http://gedata;

}

}


client_max_body_size 240M;
在我的 gitlab 上的浏览​​器上,一切都很好。但是当我尝试插入时:
git push -u origin master  
几分钟后面对这个错误:
*ssh:连接到主机develop.domain.com 端口22:连接超时
致命:无法从远程存储库中读取。
请确保您拥有正确的访问权限
并且存储库存在*

最佳答案

有两种方法可以解决这个问题,

  • 将 docker host ssh 端口从 22 更改为其他端口,然后使用这些端口创建 gitlab 容器 22:22 ,10080:80, 443
  • 或者您可以编辑项目的 .git/config 文件,在地址末尾添加端口 10022

  • 顺便说一句,您可以使用项目的 http(s) url 拉取和推送,然后离开 ssh 😁

    关于docker - nginx 的 gitlab 容器代理传递不适用于推送请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62572512/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com