2017-09-27 42 views
0

在我们的设置中,我们使用最新的traefik作为反向代理,它具有路由到演示合流和keycloak服务器。Traefik:应用程序之间的HTTPS访问不起作用

  traefik 
     |  | 
confluence  keycloak 

每个应用程序都有它自己的码头工人,撰写文件,并单独启动。

Traefik定义了一个虚拟网络,合流和keycloak也在这个网络。使用正确的DNS设置,用户可以访问traefik,汇合和keycloak。它按预期工作。

要使用keycloak网站SSO系统,有必要让confluence系统能够访问keycloak,反之亦然,使用使用traefik的FQDN和HTTPS。这不起作用。

它可以连接到服务直接(我们想这是由于共享网络),但如果我们即连接到keycloak容器和做类似

curl -k https://confluence.our.domain -v 

,我们可以看到一个连接码头主机完成(IP匹配),但traefik似乎不做任何路由。

如果我们连接到keycloak容器和做

curl -k -v -H 'Host: confluence.our.domain' https://traefik 

路由完成。

任何建议,我们做错了什么或我们应该检查什么?

任何帮助表示赞赏, 克里斯托夫

+0

当您在卷曲不起作用的机器上执行“ping confluence.our.domain”时,您获得什么IP –

+0

“ping:https://confluence.our.domain:名称或服务未知” Docker DNS设置似乎不正确。目前我尝试在docker-compose.yml中找到正确的位置,将所有使用的FQDN设置为traefik容器的别名。 – flexguse

+0

尝试在撰写文件中使用'extra_hosts'插入带有FQDN的主机条目并使用traefic IP –

回答

0

对于基于DNS的配置,它将与所有容器交谈traefik工作,使用下面的网络“别名”一节中的compose.yml文件::

version: '3.3' 

networks: 
    proxy: 
    external: 
     name: proxy 

services: 
    traefik: 
    image: traefik:1.4 
    networks: 
    - proxy: 
     aliases: 
     - confluence.our.domain 

的别名可以是一个列表,并会应用到DNS的一切在“代理“网络在上面的例子中。

+0

非常感谢,我们现在使用这种方法,因为它比使用静态IP添加主机条目更灵活。 – flexguse

+0

我为域别名创建了一个演示设置:https://github.com/flexguse/traefik-inter-container-routing。 – flexguse

0

你应该插入使用在撰写文件extra_host密钥容器主机条目。你要创建的FQDN指向您traefik反向代理

这将确保你使用正确的主机名称为HTTPS是有效和路由工作

version: '3' 
service: 
    xyz: 
    extra_host: 
     - "confluence.our.domain:<traefikip>" 
    ... 
相关问题