Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator Traefik config

Dynamiczna konfiguracja reverse proxy Traefik

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
Uzupełnij dane, aby wygenerować konfigurację Traefik.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator konfiguracji Traefik

Traefik to nowoczesny reverse proxy dla kontenerów i Kubernetes. Automatycznie wykrywa usługi i potrafi samodzielnie pozyskiwać certyfikaty HTTPS.

Struktura konfiguracji

ElementRola
routersreguły kierowania ruchu (np. Host)
entryPointspunkty wejścia (web, websecure)
servicesadresy serwerów backendu
tls.certResolverautomatyczne certyfikaty (ACME)

Przykład

Router app z regułą Host(`example.com`) kieruje ruch na http://localhost:3000. CertResolver letsencrypt odpowiada za certyfikat TLS.

Provider file

Wygenerowany plik to konfiguracja dynamiczna. Wskaż katalog w konfiguracji statycznej Traefika: providers.file.directory=/etc/traefik/dynamic. Traefik przeładuje zmiany automatycznie.

Jak działa generator konfiguracji Traefika

Generator zamienia dane z formularza na konfigurację dynamiczną Traefika w układzie trzech warstw: router, service i serwer backendu. Router odpowiada za dopasowanie żądania — zawiera regułę, listę entryPointów oraz wskazanie usługi, do której ruch ma trafić. Service opisuje sposób dotarcia do backendu i w najprostszym wariancie jest load balancerem z listą adresów URL serwerów. Każde pole z formularza trafia więc do konkretnego klucza w pliku: nazwa routera do http.routers.NAZWA, adres backendu do http.services.NAZWA.loadBalancer.servers[].url.

Kluczowym elementem jest reguła. Traefik używa własnego języka wyrażeń: Host(`api.example.com`) porównuje domenę z nagłówka Host, PathPrefix(`/v1`) sprawdza początek ścieżki, a operator && łączy warunki. Router działa tylko na tych entryPointach, które wskażesz — jeśli pominiesz to pole, Traefik sięgnie po wartości domyślne z konfiguracji statycznej. Żądanie, które nie pasuje do żadnej reguły, kończy się odpowiedzią 404, bo nie ma routera, który by je obsłużył.

Druga warstwa to service. Gdy podasz kilka adresów w jednym loadBalancerze, Traefik rozdziela między nie ruch — przy równych wagach statystycznie po połowie. Dopiero na routerze ustawiasz tls.certResolver; od tego momentu certyfikat dla domeny z reguły pozyskuje wskazany resolver ACME. Sam plik jest wyłącznie deklaracją: Traefik wczytuje go z katalogu wskazanego w providerze file i przeładowuje po zmianie treści, bez restartu procesu.

Przykład krok po kroku: API na dwóch portach

  1. Przyjmij, że aplikacja API działa lokalnie na dwóch portach: 8080 i 8081. To dwa procesy tego samego kodu, gotowe przyjmować ruch równolegle.
  2. Nazwij router api i wpisz regułę: Host(`api.example.com`) && PathPrefix(`/v1`). Warunek przepuści tylko żądania do domeny api.example.com, których ścieżka zaczyna się od /v1.
  3. Zaznacz dwa entryPointy: web oraz websecure. Router będzie więc dostępny zarówno po HTTP, jak i po HTTPS.
  4. Utwórz service o nazwie api-svc i dodaj dwa serwery: http://127.0.0.1:8080 oraz http://127.0.0.1:8081. Liczba serwerów wynosi 2, a przy równych wagach każdy z nich obsłuży około 50% żądań.
  5. Na routerze ustaw tls.certResolver na letsencrypt. Certyfikat zostanie wystawiony dla api.example.com, bo ta domena występuje w regule.
  6. Zapisz wynik jako plik api.yml w katalogu konfiguracji dynamicznej. Podsumowanie: 1 router, 1 service, 2 serwery, 2 entryPointy i 1 resolver ACME.

Mapowanie pól formularza na klucze konfiguracji

Pole w narzędziuKlucz w plikuPrzykładowa wartość
Nazwa routerahttp.routers.<nazwa>api
Reguła routinguhttp.routers.<nazwa>.ruleHost(`api.example.com`)
EntryPointyhttp.routers.<nazwa>.entryPointsweb, websecure
Wskazanie usługihttp.routers.<nazwa>.serviceapi-svc
Resolver certyfikatówhttp.routers.<nazwa>.tls.certResolverletsencrypt
Nazwa usługihttp.services.<nazwa>api-svc
Adres serwerahttp.services.<nazwa>.loadBalancer.servers[].urlhttp://127.0.0.1:8080

Praktyczne wskazówki

  • Trzymaj spójne nazwy — nazwy routerów i usług nie mogą się powtarzać w obrębie jednego pliku. Jeśli w katalogu dynamicznym leży kilka plików, Traefik scala je i duplikat klucza zgłosi jako błąd.
  • Zaczynaj od jednego routera — drugą regułę dopisz dopiero, gdy pierwsza działa. Dwa routery z nachodzącymi się regułami na tym samym entryPoincie rozstrzyga priorytet, a nie kolejność zapisu w pliku.
  • Adresy serwerów zapisuj z protokołem — http://127.0.0.1:8080 jest poprawne, samo 127.0.0.1:8080 już nie, bo Traefik nie zgadnie schematu połączenia.
  • Testuj najpierw po HTTP — zanim dodasz TLS, sprawdź sam routing. Odpowiedź 404 oznacza brak dopasowania reguły, a 502 — że dopasowanie jest, ale backend nie odpowiada.
  • Nawiasy w złożonych regułach — przy łączeniu trzech i więcej warunków operatorem && warto rozdzielić je nawiasami, żeby uniknąć błędnej interpretacji wyrażenia.

Czego narzędzie nie uwzględnia

  • Konfiguracji statycznej — generator tworzy wyłącznie plik dynamiczny. Definicje entryPointów, adres panelu API i ustawienia providera file muszą istnieć w pliku statycznym; bez nich wygenerowana konfiguracja nie zadziała.
  • Middleware i przekierowań — basic auth, limity tempa, nagłówki bezpieczeństwa i przekierowanie HTTP na HTTPS dodaje się jako osobne obiekty i podłącza do routera. Narzędzie ich nie generuje.
  • DNS i dostępności ACME — narzędzie nie sprawdzi, czy domena wskazuje na serwer ani czy porty 80 i 443 są osiągalne z internetu. Bez tego resolver ACME nie wystawi certyfikatu.
  • Wag i health checków — load balancer obsługuje wagi serwerów i sprawdzanie ich kondycji, ale te pola trzeba dopisać ręcznie do wygenerowanego szkieletu.

Najczęstsze pytania

Czym jest provider Docker?

Zamiast pliku można opisać routery etykietami kontenera. Traefik sam wykrywa kontenery i aktualizuje konfigurację.

Skąd certyfikaty TLS?

Z resolvera ACME (np. Let's Encrypt). Wymaga publicznie dostępnej domeny wskazującej na serwer Traefika.

Co to middleware?

Dodatkowe przetwarzanie ruchu: przekierowania, basic auth, ograniczanie tempa, nagłówki bezpieczeństwa.

Czy Traefik przeładuje plik automatycznie po zapisaniu zmian?

Tak, provider file obserwuje katalog i wczytuje zmiany w locie, bez restartu. Jeśli jednak plik ma błąd składni, Traefik odrzuci całą zmianę i pozostanie przy poprzedniej konfiguracji.

Dlaczego mój router zwraca 404?

Najczęściej reguła nie pasuje do żądania albo router nie jest przypisany do entryPointu, na którym przyszło połączenie. Sprawdź domenę i ścieżkę w regule oraz listę entryPointów.

Czy kilka routerów może wskazywać na jedną usługę?

Tak. Możesz mieć osobny router dla /v1 i /v2, a oba mają w polu service tę samą nazwę usługi. Każdy router zachowuje wtedy własną regułę i własny priorytet.

Czym różni się Host od HostRegexp?

Host dopasowuje dokładną nazwę domeny, a HostRegexp — wyrażenie regularne. Host jest czytelniejszy i wystarcza w większości przypadków; HostRegexp przydaje się przy subdomenach generowanych dynamicznie.

Po co rozdzielać entryPointy web i websecure?

web obsługuje ruch po HTTP, a websecure po HTTPS. Rozdzielenie pozwala kierować całość z web na websecure i podłączać certyfikaty tylko do tego drugiego punktu wejścia.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!