用于前端和 /api 后端的 Traefik TOML 配置
以下 Traefik .toml 配置文件通过将 /api 请求重定向到运行在 localhost:61913 上的后端服务器,同时将 /api 以外的任何请求重定向到运行在 localhost:17029 上的前端来工作。你可以简单地将前端规则定义为
traefik_api.toml
rule = "Host(`myapp.mydomain.com`)"将后端规则定义为
traefik_backend_rule.toml
rule = "Host(`myapp.mydomain.com`) && PathPrefix(`/api`)"因为最长匹配的路由将获胜。
请参阅我们的文章使用 Lets Encrypt Cloudflare DNS-01 和 TLS-ALPN-01 和 HTTP-01 挑战的简单 Traefik docker-compose 设置了解我们的基本 Traefik 配置,该配置还定义了 alpn 证书解析器。使用此配置,将 myapp-frontend.toml 和 myapp-backend.toml 都放在 config 目录中。
前端配置
myapp_frontend.toml
# 主机
[http.routers.myapp-frontend]
rule = "Host(`myapp.mydomain.com`)"
service = "myapp-frontend"
# 后端
[http.services]
[http.services.myapp-frontend.loadBalancer]
[[http.services.myapp-frontend.loadBalancer.servers]]
url = "http://127.0.0.1:17029/"
# 证书
[http.routers.myapp-frontend.tls]
certresolver = "alpn"后端 Traefik config
myapp_backend.toml
# 主机
[http.routers.myapp-backend]
rule = "Host(`myapp.mydomain.com`) && PathPrefix(`/api`)"
service = "myapp-backend"
# 后端
[http.services]
[http.services.myapp-backend.loadBalancer]
[[http.services.myapp-backend.loadBalancer.servers]]
url = "http://127.0.0.1:61913/"
# 证书
[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