【问题标题】:Traefik/Docker/Wildfly - Cannot access Wildfly management consoleTraefik/Docker/Wildfly - 无法访问 Wildfly 管理控制台
【发布时间】:2018-10-25 13:41:48
【问题描述】:

我在 Docker 容器中运行 Traefik,而 Wildfly 在其他容器中。

我在 Wildfly 的 docker-compose.yml 中有以下标签:

  - "traefik.web.port=8080"
  - "traefik.web.frontend.rule=Host:temporary_wildfly_hostname"
  - "traefik.admin.port=9990"
  - "traefik.admin.frontend.rule=Host:temporary_wildfly_hostname;PathStrip:/console/"

我可以访问位于端口 8080 中的主要 Wildfly。我尝试了多种方法来访问端口 9990 中的服务,但唯一真正有效的是当我使用不同的主机时,这不是什么我要。

我试过了:

  • 添加了“traefik.frontend.passHostHeader=true”(即使 .admin 在 .frontend 之前)
  • 用 PathPrefixStrip、Path PathStripRegex 甚至 PathPrefixStripRegex 切换 PathStrip

Wildfly 的管理控制台使用端口 9990,从 :8080/console 重定向,也使用 :9990/console/*,因此 /console 本身是多余的,它会显示“重定向过多”错误。

我真的认为这个 /console 循环错误是某种问题。我一直在网上搜索其他反向代理的替代配置,看看我是否遗漏了什么,但都与我已经尝试过的标题有关。

关于如何解决这个问题的任何提示,保持相同的 URL,但仍重定向到与主服务不同的端口?

非常感谢您的时间和帮助。

最好的问候,

路易斯·纳拜斯

【问题讨论】:

    标签: docker wildfly traefik


    【解决方案1】:

    您需要在每个segment 上添加一个priority

    traefik.<segment_name>.frontend.priority=10
    

    【讨论】:

    • 非常感谢您的回答。然而解决方案是不同的。我把它贴在上面了。
    【解决方案2】:

    非常感谢您的回答。

    该问题与 Wildfly 创建的后端有关。它使用另一个 URL,即 /management。所以我使用以下 traefik 标签解决了它:

      - "traefik.web.port=8080"
      - "traefik.web.frontend.rule=Host:temporary_wildfly_hostname"
      - "traefik.admin.port=9990"
      - "traefik.admin.frontend.rule=Host:temporary_wildfly_hostname;PathPrefix:/console,/management"
    

    【讨论】:

      猜你喜欢
      • 2018-05-11
      • 1970-01-01
      • 2018-08-02
      • 2015-05-22
      • 2019-05-11
      • 2015-09-19
      • 2023-04-11
      • 1970-01-01
      • 2019-02-26
      相关资源
      最近更新 更多