Разверните Телепорт позади Траефика

У меня есть некоторые проблемы с использованием телепорта позади Traefik. Я думаю, это из-за SSL-сертификатов, которые не поддерживаются при подключении от Traefik к Teleport. У кого-нибудь есть решение, как это может работать?

Докер-файл телепорта:

      version: '3'
services:
  teleport:
    image: quay.io/gravitational/teleport:4.3
    container_name: teleport
    entrypoint: /bin/sh
    hostname: dev.domain.com
    command: -c "sleep 1 && /bin/dumb-init teleport start -c /etc/teleport/teleport.yaml"
    networks:
      - proxy
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.teleport.entrypoints=https-entrypoint"
      - "traefik.http.routers.teleport.rule=Host(`dev.domain.com`)"
      - "traefik.http.routers.teleport.tls.certresolver=certres"
      - "traefik.http.routers.teleport.service=teleport-port"
      - "traefik.http.services.teleport-port.loadbalancer.server.port=3080"

      - "traefik.tcp.routers.teleportlisten.entrypoints=teleport-listen-entrypoint"
      - "traefik.tcp.routers.teleportlisten.rule=HostSNI(`dev.domain.com`)"
      - "traefik.tcp.routers.teleportlisten.tls.passthrough=true"
      - "traefik.tcp.routers.teleportlisten.tls.certresolver=certres"
      - "traefik.tcp.routers.teleportlisten.service=teleportlisten-port"
      - "traefik.tcp.services.teleportlisten-port.loadbalancer.server.port=3023"

      - "traefik.tcp.routers.teleport-tunnellisten.entrypoints=teleport-tunnel-entrypoint"
      - "traefik.tcp.routers.teleport-tunnellisten.rule=HostSNI(`dev.domain.com`)"
      - "traefik.tcp.routers.teleport-tunnellisten.tls.passthrough=true"
      - "traefik.tcp.routers.teleport-tunnellisten.tls.certresolver=certres"
      - "traefik.tcp.routers.teleport-tunnellisten.service=teleport-tunnellisten-port"
      - "traefik.tcp.services.teleport-tunnellisten-port.loadbalancer.server.port=3024"

      - "traefik.tcp.routers.teleport-auth.entrypoints=teleport-auth-entrypoint"
      - "traefik.tcp.routers.teleport-auth.rule=HostSNI(`dev.domain.com`)"
      - "traefik.tcp.routers.teleport-auth.tls.passthrough=true"
      - "traefik.tcp.routers.teleport-auth.tls.certresolver=certres"
      - "traefik.tcp.routers.teleport-auth.service=teleport-auth-port"
      - "traefik.tcp.services.teleport-auth-port.loadbalancer.server.port=3025"
    volumes:
      - ./config:/etc/teleport
      - ./data:/var/lib/teleport

networks:
  proxy:
    external: true 


```

One option is by Passing the command --insecure-no-tls to the container but I´m not shure if this is secure.

Thanks for the help

1 ответ

Трудно сказать, не видя содержимого /etc/teleport/teleport.yaml. Если вы используете --insecure-no-tls, Teleport будет работать, ожидая, что TLS произойдет на балансировщике нагрузки или, в данном случае, на Traefik.

Еще одно замечание: в этом примере используется Teleport 4.3, который является EOL, я бы рекомендовал попробовать Teleport 8. image: quay.io/gravitational/teleport:8.0

Другие вопросы по тегам