Обратный прокси Traefik к внешнему серверу - PullRequest
0 голосов
/ 04 апреля 2020

Я хотел бы получить доступ к серверу Keycloak, который находится в сети rnet, а не в моей сети docker. Я хочу скрыть домен сервера Keycloak за своим собственным доменом. Так что если я go до http://localhost/auth/, то должна отображаться страница с сервера Keycloak. Я не хочу перенаправлять на сервер Keycloak.

Рисование

Я пробовал следующую конфигурацию, но она не работает. Когда я go до http://localhost/auth, я получаю «404 страница не найдена». Я надеюсь, что вы можете мне помочь. Большое спасибо за вашу помощь:)

docker -compose.yml

version: "3.7"

services:

  proxy:
    image: traefik:v2.2
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--providers.file=true"
      - "--providers.file.filename=/etc/traefik/rules.yml"
      - "--entrypoints.web.address=:80"
    ports:
      - 80:80
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./rules.yml:/etc/traefik/rules.yml

  website:
    image: containous/whoami
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.website.rule=Host(`localhost`)"
      - "traefik.http.routers.website.entrypoints=web"

rules.yml

http:
  routers:
    my-route:
      rule: "Host(`localhost`) && PathPrefix(`/auth`)"
      service: my-keycloak-server
  services:
    my-keycloak-server:
      loadBalancer:
        servers:
          - url: "https://keycloak.domain.com/auth"
...