Node.js Rest вызывает сервер, которому требуется сертификат

Как сделать остаточный вызов с Node.js на сервер, для которого требуется сертификат для аутентификации?


person micc0    schedule 31.10.2013    source источник


Ответы (1)


Решение заключается в использовании пользовательского пула соединений, для которого вам потребуется использовать настраиваемый агент.


Вот пример использования стандартного модуля https прямо из документации:

var options = {
  hostname: 'encrypted.google.com',
  port: 443,
  path: '/',
  method: 'GET',
  key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
  cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
};
options.agent = new https.Agent(options);

var req = https.request(options, function(res) {
  ...
}

И если вы используете запрос Майка, вы можете установить собственный агент в опции pool.

person Paul Mougel    schedule 31.10.2013
comment
Зачем мне использовать настраиваемый агент и пул соединений? - person micc0; 31.10.2013
comment
Агент управляет пулом сокетов и используется, например, для управления максимальным количеством сокетов, которые процесс может открыть одновременно. По умолчанию все HTTPS-запросы используют https.globalAgent. Как подробно описано здесь, вы можете предоставить информацию о собственном сертификате для любого запроса... но если вы используете глобальный агент, эти параметры будут игнорироваться. Затем вам нужно будет использовать настраиваемый агент. - person Paul Mougel; 31.10.2013
comment
Звучит интересно, но может действительно пригодиться пример с кодом. - person ; 03.12.2013