【问题标题】:Host and Path with Traefik V2Traefik V2 的主机和路径
【发布时间】:2020-10-27 14:21:12
【问题描述】:

参考:Define host and path frontend rule for Traefik(我想评论答案但我不能)

我使用

在答案中实施了建议
Host(`domain.com`) && Path(`/path`)

但它不起作用(尝试访问时得到 404)。

Traefik 日志显示:

time="2020-07-07T10:31:30Z" level=error msg="field not found, node: rule " providerName=docker

我的 docker compose 看起来像这样:

deploy:
  labels:
    - "traefik.enable=true"
    - "traefik.http.routers.typo3-${NAMEOFSERVICE}.rule = Host(`${HOSTNAME}`) && Path(`${DIRECTORY}`)"

仅与主机规则一起使用时,它工作得非常好。但我希望能够做到,例如subdomain.domain.com/subdirectory 用于服务 1,subdomain.domain.com/subdirectory2 用于服务 2

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

【问题讨论】:

    标签: docker docker-swarm traefik


    【解决方案1】:

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

    这行得通:

    - "traefik.http.routers.typo3-${NAMEOFSERVICE}.rule=(Host(`${HOSTNAME}`) && Path(`${DIRECTORY}`))"
    

    我现在有另一个问题。我在这个子目录中的服务重定向到它之外。 (例如,Typo 3 首先安装:我访问 subdomain.domain.com/foo 并将我重定向到 subdomain.domain.com/typo3/install.php)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-24
      • 1970-01-01
      • 2020-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-10
      • 1970-01-01
      相关资源
      最近更新 更多