Traefik / Docker / Wildfly - 无法访问Wildfly管理控制台

时间:2018-05-15 16:21:49

标签: docker wildfly traefik

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

我在Wildfly&#f; 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/"

我可以访问主要的Wildfly,它位于端口8080.我已经尝试了很多方法来访问端口9990中的服务,但唯一真正有效的方法是当我使用不同的主机时,这不是&# 39; t我想要的。

我试过了:

  • 添加" traefik.frontend.passHostHeader = true" (即使在.dron之前使用.admin)
  • 使用PathPrefixStrip,Path PathStripRegex或甚至PathPrefixStripRegex切换PathStrip

Wildfly的管理控制台使用端口9990,重定向自:8080 / console并且还使用:9990 / console / *,因此/ console本身是多余的,它显示了太多的重定向"错误。

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

有关如何解决此问题的任何提示,保留相同的URL,但仍然重定向到与主服务不同的端口?

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

致以最诚挚的问候,

Luis Nabais

2 个答案:

答案 0 :(得分:0)

您需要在每个priority上添加segment

traefik.<segment_name>.frontend.priority=10

答案 1 :(得分:0)

非常感谢您的回答。

该问题与后端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"