Traefik: TOML-Konfiguration für Frontend und /api-Backend

English Deutsch

Die folgenden Traefik-.toml-Konfigurationsdateien funktionieren, indem /api-Anfragen an den Backend-Server auf localhost:61913 weitergeleitet werden, während alle anderen Anfragen außer /api an das Frontend auf localhost:17029 weitergeleitet werden. Du kannst die Frontend-Regel einfach definieren als

traefik_api.toml
rule = "Host(`myapp.mydomain.com`)"

und die Backend-Regel als

traefik_backend_rule.toml
rule = "Host(`myapp.mydomain.com`) && PathPrefix(`/api`)"

da die längste übereinstimmende Route gewinnt.

Siehe unseren Beitrag Simple Traefik docker-compose setup with Lets Encrypt Cloudflare DNS-01 & TLS-ALPN-01 & HTTP-01 challenges für unsere grundlegende Traefik-Konfiguration, die auch den alpn-Certificate-Resolver definiert. Mit dieser Konfiguration platziere sowohl myapp-frontend.toml als auch myapp-backend.toml im config-Verzeichnis.

Frontend-Konfiguration

myapp_frontend.toml
# Host
[http.routers.myapp-frontend]
rule = "Host(`myapp.mydomain.com`)"
service = "myapp-frontend"

# Backend
[http.services]
[http.services.myapp-frontend.loadBalancer]
[[http.services.myapp-frontend.loadBalancer.servers]]
url = "http://127.0.0.1:17029/"

# Zertifikate
[http.routers.myapp-frontend.tls]
certresolver = "alpn"

Backend-Traefik-Konfiguration

myapp_backend.toml
# Host
[http.routers.myapp-backend]
rule = "Host(`myapp.mydomain.com`) && PathPrefix(`/api`)"
service = "myapp-backend"

# Backend
[http.services]
[http.services.myapp-backend.loadBalancer]
[[http.services.myapp-backend.loadBalancer.servers]]
url = "http://127.0.0.1:61913/"

# Zertifikate
[http.routers.myapp-backend.tls]
certresolver = "alpn"

Check out similar posts by category: Networking, Traefik