Подключитесь к серверу Consul, на котором запущен openshift, к клиенту consul, работающему на локальном хосте

Когда я запускаю консул на своем локальном компьютере и загрузочный клиент Spring со следующими свойствами в bootstrap.properties, я вижу, что он подключается, обнаруживает службы и может подключаться от одной службы к другой, используя обнаружение службы. Bootstrap.properties:

spring.cloud.consul.host=localhost
spring.cloud.consul.port=8500
spring.cloud.consul.discovery.instance-id=consul-service2
spring.application.name=consul-service2
server.port=8083

Но теперь я установил консул на openshift, предоставивший маршрут к нему. Я могу перейти к пользовательскому интерфейсу консула и увидеть, что служба консула зарегистрировалась. Но когда я пытаюсь подключить клиент, работающий на локальном хосте, к консулу, работающему на openshift, я получаю сообщение об ошибке.

com.ecwid.consul.transport.TransportException: org.apache.http.conn.ConnectTimeoutException: Connect to consul-uservices-template.f-az.uk.paas.intranet.db.com:8500 [consul-uservices-template.hju-azh.uk.paas.intranet.sdf.com/10.248.36.85] failed: connect timed out
        at com.ecwid.consul.transport.AbstractHttpTransport.executeRequest(AbstractHttpTransport.java:77) ~[consul-api-1.4.1.jar:na]
        at com.ecwid.consul.transport.AbstractHttpTransport.makePutRequest(AbstractHttpTransport.java:41) ~[consul-api-1.4.1.jar:na]
        at com.ecwid.consul.v1.ConsulRawClient.makePutRequest(ConsulRawClient.java:135) ~[consul-api-1.4.1.jar:na]
        at com.ecwid.consul.v1.agent.AgentConsulClient.agentServiceRegister(AgentConsulClient.java:273) ~[consul-api-1.4.1.jar:na]
        at com.ecwid.consul.v1.ConsulClient.agentServiceRegister(ConsulClient.java:309) ~[consul-api-1.4.1.jar:na]

Мои bootstrap.properties:

spring.cloud.consul.host=consul-uservices-template.hju-azh.uk.paas.intranet.sdf.com
spring.cloud.consul.port=8500
spring.cloud.consul.discovery.instance-id consul-service2
spring.application.name=consul-service2
server.port=8083

Что я делаю, так это предоставляю путь маршрута в качестве хоста, я ошибаюсь? Я вижу, что он пытается подключиться к consul-uservices-template.hju-azh.uk.paas.intranet.sdf.com:8500 и время ожидания истекает. Я получаю 404 даже в браузере, когда пытаюсь перейти по этому URL-адресу. Он не должен обращаться с номером порта. Как я могу это сделать ?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Версия Java на основе версии загрузки
Версия Java на основе версии загрузки
Если вы зайдете на официальный сайт Spring Boot , там представлен start.spring.io , который упрощает создание проектов Spring Boot, как показано ниже.
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
1
0
408
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

It should not be accessing with port number.

Поскольку маршрут предоставляется через OpenShift (и вы также можете получить к нему доступ через веб-интерфейс), я предполагаю, что он доступен через порт 80.

Если это так, вы можете указать весеннюю загрузку для доступа к консулу через порт 80, изменив следующие свойства

spring.cloud.consul.port=80

Другие вопросы по теме