Docker 带有Traefik V2的主机和路径

Docker 带有Traefik V2的主机和路径,docker,docker-swarm,traefik,Docker,Docker Swarm,Traefik,关于:(我想对答案发表评论,但我不能) 我使用 Host(`domain.com`) && Path(`/path`) 但它不起作用(当试图访问它时得到404) Traefik日志显示: time=“2020-07-07T10:31:30Z”level=error msg=“未找到字段,节点:规则”providerName=docker 我的docker compose如下所示: deploy: labels: - "traefik.enable=true

关于:(我想对答案发表评论,但我不能)

我使用

Host(`domain.com`) && Path(`/path`)
但它不起作用(当试图访问它时得到404)

Traefik日志显示:

time=“2020-07-07T10:31:30Z”level=error msg=“未找到字段,节点:规则”providerName=docker

我的docker compose如下所示:

deploy:
  labels:
    - "traefik.enable=true"
    - "traefik.http.routers.typo3-${NAMEOFSERVICE}.rule = Host(`${HOSTNAME}`) && Path(`${DIRECTORY}`)"
当只使用主机规则时,它工作得非常好。但我希望能够为服务1执行例如
subdomain.domain.com/子目录
,为服务2执行
subdomain.domain.com/子目录


我还尝试了
-“traefik.http.routers.typo3-${NAMEOFSERVICE}.rule=Host(`${HOSTNAME}`)和&PathPrefix(`${DIRECTORY}`)”
但是我在日志和404中得到了相同的错误。

我发现了问题:删除“=”周围的空格

这项工作:

- "traefik.http.routers.typo3-${NAMEOFSERVICE}.rule=(Host(`${HOSTNAME}`) && Path(`${DIRECTORY}`))"
我现在有另一个问题。我的服务在此子目录中,重定向到它之外。(例如,typo3首次安装:我访问subdomain.domain.com/foo,它将我重定向到subdomain.domain.com/typo3/install.php)