http-соединение node.js работает с экземпляром AWS, не работает с LoadBalancer - PullRequest
0 голосов
/ 25 февраля 2019

Я использую node.js и объект http для подключения к веб-серверу со специальным сервером приложений.Работает нормально на сервере на Amazon, без проблем.

Нет, у нас работает классический Loadbalancer.Работает - я могу ввести URL-адрес ELB в своем браузере и увидеть ответ нашего сервера.

Но когда я пытаюсь открыть один и тот же URL-адрес с помощью моего сценария node.js, я всегда получаю тайм-аут.

Пример кода:

try {
  console.log( "start test" );
  var http = require("http");

  var options = { host: "test.server.name",
   					      port: "80",
					        path: "/dp/",
   					      headers: {
					    	    'Encoding' : 'BINARY'						    
   					      }         
   					    };	

  console.log( "start get " + options.host );

  http.get( options , function( res ) {
    console.log( "in callback" );
			    
    res.on('data', function(data) {
      console.log( "callback get data " + data );
    });
					
    res.on('end', function() {
      console.log( "callback end" );
    });
			    	
    res.on('error', function(e) {
      console.log( "callback error" );
    });
  } );
} catch( err ) {
  console.log( "error " + err.message );
}

Код работает напрямую с сервером.Не работает при использовании loadbalancer.

И я должен понять, что делать - есть идеи?

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Я нашел это - это был прокси.

Я установил прокси, используя это: Как я могу использовать прокси http с node.js http.Client? и это: https://www.vanamco.com/2014/06/24/proxy-requests-in-node-js/

Работает сейчас!

0 голосов
/ 01 марта 2019

Я понял.Не знаю почему - но проблема была в используемом нами прокси.

Я нашел это: Как я могу использовать прокси http с node.js http.Client? ис помощью нашего прокси это сработало ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...