2017-06-28 2 views
0

Ich habe eine knifflige Frage über Keycloak und Openshift.Keycloak in Openshift, von einem Pod aus aufgerufen

Ich habe einen Keycloak-Server in einer OpenShift Origin-Installation eingerichtet und eine externe Route dafür eingerichtet.

Ich habe auch eine Nodejs App in der gleichen Openshift Origin eingerichtet, und ich versuche, den Keycloak-Server mit seiner externen Route DNS zuzugreifen.

Der Keycloak Server verfügbar ist extern an identity.myapp.com Meine App extern bei app.myapp.com verfügbar ist

Aber als meine NodeJS App das Token mit dem Token-Endpunkt abzurufen versucht, wird sie stecken mit ein No route to Host Fehler.

Wenn ich in den Nodejs-App-Pod und ping den externen DNS-Namen, es richtig antwortet, aber wenn ich einen wget Befehl darauf versuchen, bekomme ich auch einen No route to Host Fehler.

Hier ist das Protokoll von meinem Test:

sh-4.2$ ping identity.myapp.com 
PING identity.myapp.com (xx.xx.xx.xx) 56(84) bytes of data. 
64 bytes from xxx (xx.xx.xx.xx): icmp_seq=1 ttl=63 time=0.236 ms 
64 bytes from xxx (xx.xx.xx.xx): icmp_seq=2 ttl=63 time=0.170 ms 
--- identity.myapp.com ping statistics --- 
2 packets transmitted, 2 received, 0% packet loss, time 1000ms 
rtt min/avg/max/mdev = 0.170/0.203/0.236/0.033 ms 
sh-4.2$ wget https://identity.myapp.com 
--2017-06-28 20:29:29-- https://identity.myapp.com/ 
Resolving identity.myapp.com (identity.myapp.com)... xx.xx.xx.xx 
Connecting to identity.myapp.com (identity.myapp.com)|xx.xx.xx.xx|:443... failed: No route to host.            

ich den Keycloak Server es interner DNS-Name, es einrichten liefern Token mit seinem externen Emittenten DNS-Name und jeder Anruf nicht nennen kann mit mit ein anderer Name Ergebnisse auf einen Invalid token issuer Fehler (ich habe ein Ticket auf der gitHub der Bibliothek geöffnet ich verwende, können Sie es finden here

Meine ultimative Lösung wäre, die Keycloak Server auszulagern, aber ich würde verlieren alle Vorteile von Openshift ...

Was kann ich tun, um über den externen DNS-Namen in HTTPS von meinem App-Pod aus auf den Keycloak-Server zuzugreifen?

+0

Beendet den Schlüsselcloak-Server außerhalb meiner Openshift-Infrastruktur. Wenn jemand eine funktionierende Lösung findet, würde ich es trotzdem gerne ausprobieren. – mrik974

Antwort

0

Das Problem kann mit dem Router oder mit DNS zusammenhängen. Haben Sie versucht, einen externen DNS-Provider für Ihre nodejs-App einzurichten?

Ich nehme an, Sie haben eine route eingerichtet?

+0

Ich habe nicht versucht, einen externen DNS-Provider für die nodejs-App einzurichten. Ist es eine gute Sache zu tun? Und wie gesagt, ich habe eine Route für den Keycloak-Server eingerichtet, und die Route funktioniert auch. Ich kann über meinen Browser auf den Keycloak-Server zugreifen. Aber ich brauche diese sichere Route, um auch von innen zu arbeiten (aus dem Pod meiner Nodejs-App). Ich habe versucht, auf Keycloak zuzugreifen, indem ich seinen Dienstnamen verwende (funktioniert), aber ich bremse den OpenID-Workflow, und Keycloak verweigert meiner App das Token, das zur Authentifizierung des Benutzers benötigt wird. – mrik974

Verwandte Themen