Я хочу подключить свой сервер узлов к серверу Eureka для некоторых операций аутентификации, поскольку весь проект разработан в Java, и эти разработчики используют Eureka для управления микроуслугами.
Я могу зарегистрировать свой узел сервис в Eureka с node js с использованием eureka- js -клиента, но Eureka не отвечает на сервер моего узла. Это означает, что Eureka не может отправить запрос на мой сервер, но выдает ошибку ниже:
Caused by: com.netflix.client.ClientException: null
Caused by: java.lang.RuntimeException: org.apache.http.NoHttpResponseException: xyz.xyz.com:4000 failed to respond
Caused by: org.apache.http.NoHttpResponseException: xyz.xyz.com:4000 failed to respond
И со стороны узла мое соединение с Eureka установлено следующим образом:
const Eureka = require('eureka-js-client').Eureka;
const client = new Eureka({
// application instance information
instance: {
app: 'APP-NAME',
instanceId: 'app',
hostName: 'xyz.xyz.com', //my node server's hostname
ipAddr: '0.0.0.0',
port: {
'$': 0,
'@enabled': true,
},
registerWithEureka: true,
fetchRegistry: true,
status: 'UP',
vipAddress: 'app-node',
dataCenterInfo: {
"@class": `com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo`,
name: 'MyOwn'
},
},
eureka: {
host: 'xxx.xxx.xx.x' //my host id,
hostName: 'https://xyz.xyz.com', //Eureka service hostname
port: 10081, // Port number of Eureka service
servicePath: '/eureka/apps/'
},
});
client.logger.level('debug');
client.start((error) => {
console.log(error || 'complete');
});
В localhost все работает нормально, а Eureka также не выдает никаких ошибок. И я получаю правильный ответ. Но когда дело касается живого сервера, на котором установлен https, он выдает ошибку, о которой я упоминал ранее. Eureka автоматически получает номер порта после доменного имени, например имя_домена: номер_порта. Возможно, это создает проблему.
Я новичок в Eureka и застрял в этом вопросе с давних времен.
Заранее спасибо.