【发布时间】:2017-09-27 11:16:55
【问题描述】:
在我们的设置中,我们使用最新的 traefik 作为反向代理,它具有到演示汇合和 keycloak 服务器的路由。
traefik
| |
confluence keycloak
每个应用程序都有自己的 docker-compose 文件并单独启动。
Traefik 定义了一个虚拟网络,confluence 和 keycloak 也在这个网络中。通过正确的 DNS 设置,用户可以访问 traefik、confluence 和 keycloak。它按预期工作。
要使用 keycloak web SSO 系统,confluence 系统必须能够访问 keycloak,反之亦然,使用 FQDN 和使用 traefik 的 HTTPS。这不起作用。
可以直接连接到服务(我们假设这是由于共享网络),但如果我们连接到 keycloak 容器并执行类似的操作
curl -k https://confluence.our.domain -v
我们可以看到与 docker-host 的连接已完成(IP 匹配),但 traefik 似乎没有进行任何路由。
如果我们连接到 keycloak 容器并做
curl -k -v -H 'Host: confluence.our.domain' https://traefik
路由完成。
任何建议,我们做错了什么或我们应该检查什么?
任何帮助表示赞赏, 克里斯托夫
【问题讨论】:
-
在 curl 不起作用的机器上
ping confluence.our.domain得到什么 IP -
"ping: confluence.our.domain: Name or service not known" Docker DNS 设置似乎不正确。目前我尝试在 docker-compose.yml 中找到正确的位置,将所有使用的 FQDN 设置为 traefik 容器的别名。
-
尝试在撰写文件中使用
extra_hosts插入具有FQDN 和traefic IP 的主机条目 -
非常感谢您的提示!我们添加了导致 traefik 反向代理的额外主机条目,现在路由工作。也许设置 DNS 服务器是一个更好的主意,但我们很高兴这个解决方案有效。