Traefik:应用程序之间的 HTTPS 访问不起作用
Traefik: HTTPS access between applications does not work
在我们的设置中,我们使用最新的 traefik 作为反向代理,它具有到演示 confluence 和 keycloak 服务器的路由。
traefik
| |
confluence keycloak
每个应用程序都有自己的 docker-compose 文件并单独启动。
Traefik定义了一个虚拟网络,confluence和keycloak也在这个网络中。通过正确的 DNS 设置,用户可以访问 traefik、confluence 和 keycloak。它按预期工作。
要使用 keycloak web SSO 系统,confluence 系统必须能够使用 traefik 使用 FQDN 和 HTTPS 访问 keycloak,反之亦然。这不起作用。
可以直接连接到服务(我们假设这是由于共享网络),但是如果我们即连接到 keycloak 容器并执行类似
的操作
curl -k https://confluence.our.domain -v
我们可以看到与 docker-host 的连接已经完成(IP 匹配)但是 traefik 似乎没有进行任何路由。
如果我们连接到 keycloak 容器并执行
curl -k -v -H 'Host: confluence.our.domain' https://traefik
路由完成。
任何建议,我们做错了什么或我们应该检查什么?
感谢任何帮助,
克里斯托夫
您应该在撰写文件中使用 extra_host
键在容器中插入一个主机条目。您想要创建指向您的 traefik 反向代理的 FQDN
这将确保您使用正确的主机名以使 https 有效并使路由正常工作
version: '3'
service:
xyz:
extra_host:
- "confluence.our.domain:<traefikip>"
...
对于将与所有与 traefik 通信的容器一起使用的基于 DNS 的配置,请在您的 compose.yml 文件中使用以下网络 "alias" 部分::
version: '3.3'
networks:
proxy:
external:
name: proxy
services:
traefik:
image: traefik:1.4
networks:
- proxy:
aliases:
- confluence.our.domain
别名可以是一个列表,并将应用于上例中 "proxy" 网络上所有内容的 DNS。
在我们的设置中,我们使用最新的 traefik 作为反向代理,它具有到演示 confluence 和 keycloak 服务器的路由。
traefik
| |
confluence keycloak
每个应用程序都有自己的 docker-compose 文件并单独启动。
Traefik定义了一个虚拟网络,confluence和keycloak也在这个网络中。通过正确的 DNS 设置,用户可以访问 traefik、confluence 和 keycloak。它按预期工作。
要使用 keycloak web SSO 系统,confluence 系统必须能够使用 traefik 使用 FQDN 和 HTTPS 访问 keycloak,反之亦然。这不起作用。
可以直接连接到服务(我们假设这是由于共享网络),但是如果我们即连接到 keycloak 容器并执行类似
的操作curl -k https://confluence.our.domain -v
我们可以看到与 docker-host 的连接已经完成(IP 匹配)但是 traefik 似乎没有进行任何路由。
如果我们连接到 keycloak 容器并执行
curl -k -v -H 'Host: confluence.our.domain' https://traefik
路由完成。
任何建议,我们做错了什么或我们应该检查什么?
感谢任何帮助, 克里斯托夫
您应该在撰写文件中使用 extra_host
键在容器中插入一个主机条目。您想要创建指向您的 traefik 反向代理的 FQDN
这将确保您使用正确的主机名以使 https 有效并使路由正常工作
version: '3'
service:
xyz:
extra_host:
- "confluence.our.domain:<traefikip>"
...
对于将与所有与 traefik 通信的容器一起使用的基于 DNS 的配置,请在您的 compose.yml 文件中使用以下网络 "alias" 部分::
version: '3.3'
networks:
proxy:
external:
name: proxy
services:
traefik:
image: traefik:1.4
networks:
- proxy:
aliases:
- confluence.our.domain
别名可以是一个列表,并将应用于上例中 "proxy" 网络上所有内容的 DNS。