Traefik-找不到对象404

Traefik-找不到对象404,traefik,Traefik,我有以下规则: [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"

我有以下规则:

[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不工作,我有
{“错误”:“未找到对象”,“原因”:“未找到”}


但是,如果我键入
curl,则从traefik容器http://rabbitmq:15672
它工作正常。有什么想法吗?

后端配置中缺少一行

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

[backends.pma.servers]#您是否可以尝试使用
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"
[后端]

[backends.pma]#两个示例中的路径不相等。当您转到
pma.example.it/rabbitmq
时,您的rabbitmq实例实际上正在接收
rabbitmq:15672/rabbitmq
,并返回
未找到对象
错误

您可能希望在前端规则中使用
PathPrefixStrip
而不是
Path
。它将匹配以
/rabbitmq
开头的路径,并在将其传递到后端之前将其剥离

rule = "Host:pma.example.it;PathPrefixStrip:/rabbitmq"

PathPrefixStrip无法工作,因为管理控制台的主页面使用剥离的url加载静态文件,导致响应状态为404。 我遇到了类似的问题,并通过在rabbitmq.conf中设置路径前缀修复了它。在您的情况下,它将是:

management.path\u前缀=/rabbitmq

Traefik的配置保持不变


另请参见

我已经尝试了404,我在Firefox开发工具
http://pma.example.it/start.js
而不是
http://pma.example.it/rabbitmq/start.js
这一行不是必需的,pma.example.it有效,我遵循这些示例无效,同样的错误,现在我为rabbitmq创建一个新域,而不是使用路径