首页 > 解决方案 > Traefik - 找不到对象 404

问题描述

我有这些规则:

[backends]
  [backends.pma]
    [backends.pma.servers.server1]
    url = "http://phpmyadmin:80"
  [backends.rabbitmq]
    [backends.rabbitmq.servers.server1]
    url = "http://rabbitmq:15672"

[frontends]
  [frontends.pma]
  backend = "pma"
    [frontends.pma.routes.test_1]
    rule = "Host:pma.example.it"
    passHostHeader = true
  [frontends.rabbitmq]
  backend = "rabbitmq"
    [frontends.rabbitmq.routes.test_1]
    rule = "Host:pma.example.it;Path:/rabbitmq"

主机 pma.example.it 工作,我看到 phpmyadmin,主机 pma.example.it/rabbitmq 不工作,我有{"error":"Object Not Found","reason":"Not Found"}.

但是,如果我输入它,从 traefik 容器中curl http://rabbitmq:15672工作。有任何想法吗?

标签: traefik

解决方案


您可以尝试使用PathPrefix而不是Path作为规则。

请注意,您的配置中有一个小错字:

[backends]
  [backends.pma] # <---
  [backends.pma.servers.server1]
    url = "http://phpmyadmin:80"

[backends.rabbitmq] # <---
  [backends.rabbitmq.servers.server1]
    url = "http://rabbitmq:15672"

[frontends]
  [frontends.pma]
  backend = "pma"
    [frontends.pma.routes.test_1]
    rule = "Host:pma.example.it"
    passHostHeader = true
  [frontends.rabbitmq]
  backend = "rabbitmq"
    [frontends.rabbitmq.routes.test_1]
    rule = "Host:pma.example.it;Path:/rabbitmq"

推荐阅读