2017-09-27 4 views
0

In unserem Setup verwenden wir den neuesten Traefik als Reverse-Proxy, der Routen zu einem Demo-Confluence und einen Keycloak-Server hat.Traefik: HTTPS-Zugriff zwischen Anwendungen funktioniert nicht

  traefik 
     |  | 
confluence  keycloak 

Jede Anwendung verfügt über eine eigene docker-compose-Datei und wird separat gestartet.

In diesem Netzwerk definiert Traefik ein virtuelles Netzwerk, Konfluenz und Keycloak. Mit den richtigen DNS-Einstellungen ist es möglich, dass ein Benutzer auf traefik, confluence und keycloak zugreift. Es funktioniert wie erwartet.

Um das SSO-System keycloak web zu verwenden, ist es erforderlich, dass das Konfluenzsystem über FQDN und HTTPS mithilfe von traefik auf keycloak und umgekehrt zugreifen kann. Das funktioniert nicht.

Es ist möglich, die Dienste für die direkte Verbindung (wir nehmen an, dass auf den gemeinsam genutzten Netzwerk fällig), aber wenn wir an den keycloak Behälter und etwas tun, wie

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

wir eine Verbindung zu dh verbinden sehen der docker-host ist fertig (die IP passt), aber traefik scheint kein routing zu tun.

Wenn wir zum keycloak Behälter und tun

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

das Routing erfolgt verbinden.

Irgendwelche Vorschläge, was wir falsch machen oder was wir überprüfen sollten? mit extra_host Schlüssel in Ihrer compose Datei

Jede Hilfe sehr geschätzt wird, Christoph

+0

Welche IP Sie erhalten, wenn Sie in der Maschine 'ping confluence.our.domain' tun, wo Locke nicht –

+0

funktioniert„ping: https: //confluence.our.domain: Name oder eine Dienstleistung nicht bekannt“ Die Docker DNS-Einstellungen scheinen nicht korrekt zu sein. Momentan versuche ich den korrekten Platz im docker-compose.yml zu finden, um alle verwendeten FQDNs als Alias ​​für den Traefik Container zu setzen. – flexguse

+0

Versuchen Sie, einen Host-Eintrag mit dem FQDN mit der Traefic IP unter Verwendung von 'extra_hosts' in die Compose-Datei einzufügen. –

Antwort

0

Für DNS-basierte Konfiguration das wird zu arbeiten arbeitet mit allen Containern traefik sprechen, das folgende Netzwerk „alias“ Abschnitt in Ihrer compose.yml Datei verwenden ::

version: '3.3' 

networks: 
    proxy: 
    external: 
     name: proxy 

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

die Aliase eine Liste sein kann und wird für alles, was auf dem „Proxy an dem DNS-Anwendung "Netzwerk im obigen Beispiel.

+0

Vielen Dank, wir verwenden diesen Ansatz jetzt, da er flexibler ist als das Hinzufügen von Hosts-Einträgen mit statischen IPs. – flexguse

+0

Ich habe ein Demo-Setup für die Domain-Aliase erstellt: https://github.com/flexguse/traefik-inter-container-routing. – flexguse

0

Sie sollten einen Host-Eintrag in die Behälter einlegen. Sie wollen, dass der FQDN der auf Ihren traefik Reverse-Proxy-

Dies wird sicherstellen, dass Sie richtige Hostnamen verwenden schaffen für die https gültig sein und die Routing-

version: '3' 
service: 
    xyz: 
    extra_host: 
     - "confluence.our.domain:<traefikip>" 
    ... 
Verwandte Themen