You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

远程PC无法通过Traefik代理的GitLab执行git clone问题

无法从远程PC克隆Traefik代理后的GitLab仓库

我遇到了GitLab仓库克隆的问题:

  • 能正常访问GitLab的Web界面;
  • 在rudak_traefik_network网络的容器内、Docker服务器本机上都可以顺利执行git clone操作,但远程PC无法完成;
  • Traefik仪表盘显示所有路由状态正常,包括针对gitlab.roger的TCP路由HostSNI(gitlab.roger);
  • 已经在GitLab中配置好远程PC的SSH密钥,且该密钥在容器内可以正常使用,但在远程PC执行git clone git@gitlab.roger:roger/test-project.git时,终端会提示输入密码,输出如下:
git clone git@gitlab.roger:roger/test-project.git
Cloning into 'test-project'...
git@gitlab.roger's password: 

(服务器名为roger,我认为这不是问题)

以下是我的GitLab和Traefik配置:

GitLab Docker Compose配置

version: '3.7'
services:
  gitlab_web:
    image: 'gitlab/gitlab-ce:latest'
    restart: always
    hostname: 'gitlab.roger'
    container_name: gitlab-ce
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.roger'
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.gitlab_local.rule=Host(`gitlab.roger`)"
      - "traefik.http.routers.gitlab_roger.entrypoints=web"
      - "traefik.http.services.gitlab_roger.loadbalancer.server.port=80"
      - "traefik.tcp.routers.gitlab-ssh-roger.rule=HostSNI(`gitlab.roger`)"
      - "traefik.tcp.routers.gitlab-ssh-roger.entrypoints=ssh"
      - "traefik.tcp.routers.gitlab-ssh-roger.service=gitlab-ssh-roger"
      - "traefik.tcp.services.gitlab-ssh-roger.loadbalancer.server.port=22"
    volumes:
      - '$GITLAB_HOME/config:/etc/gitlab'
      - '$GITLAB_HOME/logs:/var/log/gitlab'
      - '$GITLAB_HOME/data:/var/opt/gitlab'
    networks:
      - rudak_traefik_network

  gitlab-runner:
    image: gitlab/gitlab-runner:alpine
    restart: always
    depends_on:
      - gitlab_web
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./runner.toml:/etc/gitlab-runner/config.toml
    networks:
      - rudak_traefik_network
networks:
  rudak_traefik_network:
    external: true

Traefik Docker Compose配置

version: "3.7"

services:
  traefik:
    image: "traefik:v2.3"
    command:
      - "--configfile=/etc/traefik/traefik_static.yaml"
    ports:
      - "22:22"
      - "80:80"
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
      - "./traefik_static.yaml:/etc/traefik/traefik_static.yaml:ro"
      - "./dynamic_conf.yaml:/etc/traefik/dynamic_conf.yaml:ro"
    networks:
      - rudak_traefik_network

networks:
  rudak_traefik_network:
    external: true

traefik_static.yaml配置

api:
  dashboard: true
  insecure: true

entryPoints:
  web:
    address: ":80"
  websecure:
    address: ":443"
  ssh:
    address: ":22"
providers:
  docker:
    endpoint: "unix:///var/run/docker.sock"
    exposedByDefault: false
  file:
    filename: "/etc/traefik/dynamic_conf.yaml"

内容的提问来源于stack exchange,提问作者rudak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 21:28:08