2017-09-27 68 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>" 
    ... 
相關問題