Трафик без доменного имени - PullRequest
0 голосов
/ 04 февраля 2019

Feww !!

Я новичок в Traefik, и документация не помогает опробовать очень простой тест.

Я пытаюсь запустить базовый пример traefik, данный у них домаpage link ) на удаленном сервере, к которому у меня есть доступ с IP-адресом и у меня нет доменного имени как такового.Но все примеры и учебные примеры выглядят для меня одинаково - никаких дискуссий о том, что если у человека нет доменного имени.(Ни один из них не может создать, так как сервер находится за VPN.)

Вопрос: -

Как мне настроить traefik.frontend.rule, если у меня нет доменного имени,Если мой IP-адрес, скажем, xx.xx.xxx.xxx.

compose.yml

version: "3"

services:
  traefik:
    image: traefik:alpine
    ports:
      - 80:80
    volumes:
      - ${traefikConfigDirectory}:/etc/traefik
      - /var/run/docker.sock:/var/run/docker.sock
    # network_mode: host
  whoami:
    image: emilevauge/whoami
    labels:
      - traefik.enable=true
      - traefik.frontend.rule=PathPrefixStrip:/testpath
    # network_mode: host

config.toml

defaultEntryPoints = ["http"]

[entryPoints]
  [entryPoints.http]
  address = ":80"

[docker]
endpoint = "unix:///var/run/docker.sock"
exposedByDefault = false
usebindportip=false

[Обновить]

Однако, как предложил @marvin, я добавил метку traefik.port = 80 к whoami, а также поставил network_mode: host, и я смог запустить.Но как заставить его работать без размещения network_mode на хосте?

1 Ответ

0 голосов
/ 04 февраля 2019

Вам не нужно имя хоста.IP-адрес будет указывать на ваш traefik: скажем, 1.2.3.4:80 (вам действительно не нужно 80: это только для примера) Например, с некоторым приложением tomcat (на 8080) правило может быть таким:

- "traefik.docker.network: traefik"
- "traefik.frontend.rule=PathPrefixStrip: /somepath"
- "traefik.port=8080"
- ...

См .: в правилах нет IP.Поскольку правило соответствует только пути после ip или домена.

Здесь каждый вызов 1.2.3.4 / somepath будет перенаправлять на 1.2.3.4: 8080 ,Вам не нужно публиковать порт 8080 в контейнере Tomcat.Если у вашего приложения уже есть путь, просто удалите часть «Strip»: «PathPrefix: / somepath»

РЕДАКТИРОВАТЬ: с вашим составом

ваш состав станет stgвот так (не проверено):

version: "3"

services:
  traefik:
    image: traefik:alpine
    ...
    volumes:
      - ${traefikConfigDirectory}:/etc/traefik
      - /var/run/docker.sock:/var/run/docker.sock
    networks: 
      - traefik-net
  whoami:
    image: emilevauge/whoami
    labels:
      - traefik.enable=true
      - traefik.frontend.rule=PathPrefixStrip:/testpath
      - traefil.docker.network=traefik-net
    networks: 
      - traefik-net

networks:
    traefik-net: {} 
...