У меня есть каверзный вопрос о Keycloak и Openshift.
Я настроил сервер Keycloak в установке Openshift Origin и настроил для него внешний маршрут.
Я также установил приложение nodejs в том же Openshift Origin, и я пытаюсь получить доступ к серверу Keycloak, используя его внешний маршрут DNS.
Сервер Keycloak доступен для внешнего доступа по адресу identity.myapp.com Мое приложение доступно для внешнего доступа по адресу app.myapp.com
Но когда мое приложение nodejs пытается получить токен с помощью конечной точки токена, оно застревает с ошибкой No route to Host
.
Когда я вхожу в модуль приложения nodejs и проверяю внешнее 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.
Я не могу вызвать сервер Keycloak, используя его внутреннее DNS-имя, он настроен для доставки токенов с его DNS-именем внешнего эмитента, и любой вызов к нему с другим именем приводит к ошибке Invalid token issuer
(я открыл билет на github библиотеку, которую я использую, вы можете найти ее здесь
Моим окончательным решением было бы экстернализировать сервер Keycloak, но я бы потерял все преимущества, предлагаемые Openshift ...
Что я могу сделать, чтобы получить доступ к серверу Keycloak, используя его внешнее DNS-имя в HTTPS
из модуля приложения?