我有一个使用docker构建的React Web应用程序,并且位于Traefik代理的后面。 Docker容器在端口80上具有Nginx作为React应用程序的HTTP服务器。当前配置将http://example.com和https://example.com设置为响应应用。我想将另一个域请求转发到应用程序的子路由,例如,将https://test.example.com个请求转发到https://example.com/test-sub-route。如何使用Traefik v2做到这一点?
注意:地址栏应显示https://test.example.com。
这是我当前的配置:
version: "3.7"
services:
reactweb:
image: react-web-app:latest
networks:
- 'internal'
- 'traefik'
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.http.routers.reactweb-web.entrypoints=web"
- "traefik.http.routers.reactweb-web.rule=Host(`example.com`)"
- "traefik.http.middlewares.reactweb-redirect.redirectscheme.scheme=https"
- "traefik.http.middlewares.reactweb-redirect.redirectscheme.permanent=true"
- "traefik.http.routers.reactweb-web.middlewares=reactweb-redirect@docker"
- "traefik.http.routers.reactweb-websecure.entrypoints=websecure"
- "traefik.http.routers.reactweb-websecure.rule=Host(`example.com`)"
- "traefik.http.routers.reactweb-websecure.tls=true"
- "traefik.http.services.reactweb-service.loadbalancer.server.port=80"
networks:
traefik:
external: true
internal:
external: false
答案 0 :(得分:0)
您可以在traefik的路径中添加prefix
。使用以下代码段。
labels:
- "traefik.http.middlewares.add-foo.addprefix.prefix=/foo"