Сбой запроса HTTPS узла через прокси-сервер - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть действительный файл pem сертификата ssl.

openssl rsa -in cert.pem -passin "pass:password"
writing RSA key

    -----BEGIN RSA PRIVATE KEY-----
    MIIEpAIBAAKCAQEAwqsU4MqkLOhm6xoueHu6x4U0zBBgcY+dQra3xD2ZJTXtvxDQ
    ...
    ...
    ...
    jKV7oDM0gfEF1bq0OQD0uTaNDvLXWBFaBKx5yxahr1+LL6H1r5wK6Q==
    -----END RSA PRIVATE KEY-----

Я использую действующий прокси-сервер, который отлично работает в моем браузере и использует стандартный протокол HTTP.

теперь, когда я запускаю свой код node.js.

var fs = require('fs');
var request = require('request');

const data = JSON.stringify({
    "compression": "lz4", "replay" : false
  });
  var proxyServer = 'http://webproxy.e.corp.services:80';

var option = {
    proxy: proxyServer,
    method: 'POST',
    url: 'https://10.51.13.6:8301/request/stream',
    json: data,
    ca: fs.readFileSync('/]path to]/cert.pem'),  
    passphrase: 'password',
    headers: {
        'Host': 'rests_client.xxx.xxxx.com'
      }
}

request(option,function (error, response, body) {
    if (error) {
      return console.error('upload failed:', error);
    }
    console.log('Upload successful!  Server responded with:', body);
  });

Я получаю следующую ошибку:

upload failed: { Error: write EPROTO 4552209856:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../deps/openssl/openssl/ssl/s3_pkt.c:1498:SSL alert number 40
4552209856:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl handshake failure:../deps/openssl/openssl/ssl/s3_pkt.c:659:

    at WriteWrap.afterWrite [as oncomplete] (net.js:868:14) errno: 'EPROTO', code: 'EPROTO', syscall: 'write' }

Я действительно не могу понять, что мне не хватает.

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