2016-11-04 4 views
0

아마존에 유레카에 등록 할 때 어떤 이유로 400 다시지고있어. 처음에는 eureka js 클라이언트의 알려진 문제와 관련이 있다고 생각했지만, 해당 문제에 대한 수정 사항을 적용한 후에는 로컬로 작동하지만 데이터 센터 개체는 Amazon이 아닙니다. 아마존에서 메타 데이터를 가져와 로컬을 사용하여 eureka-js-client 구성 객체에 적용한 다음 POST 요청을하지만 400 상태로 응답하는 것 같습니다.400 유레카 js 클라이언트에서 아마존

여기 내 구성 객체입니다

instance: { 
 
     app: 'my-node-service', 
 
     port: { 
 
      '$': 8201, 
 
      '@enabled': true 
 
     }, 
 
     vipAddress: 'myapp.awesome.com', 
 
     statusPageUrl: 'http://__HOST__:8201/info', 
 
     dataCenterInfo: { 
 
      '@class': 'com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo', 
 
      name: 'Amazon', 
 
     } 
 
     }, 
 
     eureka: { 
 
     useLocalMetadata: true, 
 
     ssl: true, 
 
     // eureka server host/port 
 
     serviceUrls: { 
 
      default: [ 
 
      'https://myamazoneurekaserver.com/eureka/apps', 
 
      'https://myamazoneurekaserver1.com/eureka/apps', 
 
      'https://myamazoneurekaserver2.com/eureka/apps' 
 
      ] 
 
     }, 
 
     servicePath: '/eureka/apps/' 
 
     }, 
 
    }
EurekaClient.js 파일에서이 OUPUT 결과

:

Error: eureka registration FAILED: status: 400 body: [object Object] at /usr/app/node_modules/eureka-js-client/lib/EurekaClient.js:267:23 at Request.self.callback (/usr/app/node_modules/request/request.js:186:22) at /usr/app/node_modules/async/dist/async.js:484:16 at nextTask (/usr/app/node_modules/async/dist/async.js:5195:29) at /usr/app/node_modules/async/dist/async.js:5202:13 at apply (/usr/app/node_modules/async/dist/async.js:41:25) at /usr/app/node_modules/async/dist/async.js:76:12 at /usr/app/node_modules/async/dist/async.js:988:16 at Request._callback (/usr/app/node_modules/eureka-js-client/lib/EurekaClient.js:570:9) at /usr/app/node_modules/eureka-js-client/lib/EurekaClient.js:592:7

이 발생할 수있는 어떤 이유. Amazon을 사용하는 예제는 기본 서비스 URL을 사용하지 않지만 MyOwndataCenterInfo 이름으로 사용하면 로컬로 작동합니다.

답변

1

이 답변은 GitHub issue에도 있지만, 여기에 후세 =에 넣어 둡니다.

Amazon 데이터 센터 (및 최신 유레카 JSON 형식)의 경우 @class에 다른 값을 전달해야합니다. 다음을 사용하여 시도하십시오 : com.netflix.appinfo.AmazonInfo.

여전히 잘못된 요청을받는 경우, 우체부 또는 유사한 도구가 있으면 작동하는 서비스에 수동으로 요청하는 것이 도움이되는 경우가 있습니다. NODE_DEBUG=request을 설정하여 클라이언트의 요청 수준에서 어떤 일이 일어나고 있는지 확인할 수도 있습니다.