Proste odwrotne proxy z Traefik

10

Obecnie używam Apache jako proxy dla moich kontenerów LXD, używając tego rodzaju ustawień:

<VirtualHost *:80>
    ServerName example.com
    ProxyRequests off
    ProxyPass / http://10.0.0.142/ retry=0
    ProxyPassReverse / http://10.0.0.142/
    ProxyPreserveHost On
</VirtualHost>

Chciałbym przejść na traefik . Próbowałem tej konfiguracji:

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

[backends]
  [backends.backend1]
    [backends.backend1.servers.server1]
       url = "http://10.0.0.142"

[frontends]
  [frontends.frontend1]
      backend = "backend1"
      passHostHeader = true
      [frontends.frontend1.routes.example]
          rule = "Host:example.com"
  • Czy te dwa są równoważne?
  • Czy konfigurację traefik można uprościć? (usuń niepotrzebne reguły)

(Uwaga: nie planuję używać okna dokowanego i wolałbym tego nie robić).

lepe
źródło

Odpowiedzi:

19

Brakuje definicji typu backendu (plik, Docker, Swarm ...)

W twoim przypadku po prostu dodaj (lub nieprzyzwoicie) „ [plik] ” do pliku conf, w ten sposób:

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

[file]

[backends]
  [backends.backend1]
    [backends.backend1.servers.server1]
       url = "http://10.0.0.142"

[frontends]
  [frontends.frontend1]
      backend = "backend1"
      passHostHeader = true
      [frontends.frontend1.routes.example]
          rule = "Host:example.com"
Benjamin OLIVIER
źródło
2
Więc [plik] jest wymagany? Nie znalazłem nic na ten temat. Dlaczego tak jest?
lepe
1
tak, jeśli po prostu chcesz ręcznie utworzyć reguły statycznie w pliku konfiguracyjnym. Możesz odnieść się do dokumentu: https://docs.traefik.io/toml/#file-backend
Benjamin OLIVIER
ok. Rozumiem. Dzięki! (masz coś przeciwko, aby głosować na moje pytanie? nie jestem pewien, dlaczego zostało ono odrzucone)
lepe
1
Dobre pytanie - utknąłem tam przez godzinę ...
andig
Zaktualizowany link do dokumentu: docs.traefik.io/configuration/backends/file
SeanDowney