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
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow