Openshift中的Keycloak,从一个吊舱调用

时间:2017-06-28 20:36:32

标签: keycloak openshift-origin

我有一个关于Keycloak和Openshift的棘手问题。

我在Openshift Origin安装中设置了一个Keycloak服务器,并为它设置了一个外部路由。

我也在同一个Openshift Origin中设置了一个nodejs应用程序,我正在尝试使用它的外部路由DNS访问Keycloak服务器。

Keycloak服务器可在identity.myapp.com外部使用 我的应用程序可从app.myapp.com外部获取

但是当我的nodejs应用尝试使用令牌端点检索令牌时,它会遇到No route to Host错误。

当我进入nodejs app pod并ping外部DNS名称时,它会正确响应,但当我在其上尝试wget命令时,我也会收到No route to Host错误。

这是我测试的日志:

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.                                             

我不能使用它的内部DNS名称调用Keycloak服务器,它设置为使用它的外部发行者DNS名称提供令牌,并且使用其他名称调用它会导致Invalid token issuer错误(我已打开)在我正在使用的图书馆的github上的一张票,你可以找到它here

我的最终解决方案是将Keycloak服务器外部化,但我将失去Openshift提供的所有好处......

如何在我的应用程序窗格中使用HTTPS中的外部DNS名称访问Keycloak服务器?

1 个答案:

答案 0 :(得分:0)

问题可能与路由器或DNS有关。您是否尝试过为您的nodejs app设置外部DNS提供程序?

我假设你也设置了route