Мое приложение Node.JS / Express выдает следующую ошибку при попытке HTTPS-запроса GET с моего серверного кода на API, обслуживаемый другим сервером (другая компания, сервер, не принадлежащий нам):
CERT_UNTRUSTED
ПРИМЕЧАНИЕ. Я запускаю эти тесты из своего компьютера с Linux, используя домен localhost.
Я попробовал шаги, описанные в этой статье, чтобы создать самозаверяющий временный сертификат, просто чтобы обойти эту проблему:
http://www.hacksparrow.com/node-js-https-ssl-certificate.html
Однако я все равно получаю сообщение об ошибке. (Боковое примечание: поскольку я создал сервер с ключами SSL, загруженными с помощью модуля HTTPS, сервер теперь отвечает только на запросы URL HTTPS (https: //). Сервер больше не отвечает на запросы, отличные от HTTPS, так как я его настроил для загрузки моих файлов SSL PEM при создании сервера. Как ни странно, он печатает два запроса «прослушивание сервера на порте», когда он использовал для печати только один).
Как я могу это исправить?
ПРИМЕЧАНИЕ. Свойство имени хоста в объекте options в приведенном ниже коде было изменено на «фиктивный» URL-адрес, поскольку он является конфиденциальным. Если вы попробуете URL-адрес, вы получите сообщение об ошибке.
Отрывки из кода:
var https = require('https');
https.globalAgent.options.secureProtocol = 'SSLv3_method';
var httpsOptions = {
hostname: dummyHostName,
port: 80,
method: 'GET',
path: '/search?text=test',
headers: {
// Request JSON response.
'Content-Type': 'application/json',
'Upgrade-Insecure-Requests': '1',
'json': 'true'
}};
var httpsReq =
https.request(httpsOptions,
function (resHttp) {
// This block is never reached due to the error.
}
Я попытался установить пакет NPM ssl-root-cas согласно этому документу:
https://github.com/coolaj86/node-ssl-root-cas
Но я не мог понять, какие файлы PEM мне нужно было загрузить в разделе ИСПОЛЬЗОВАНИЕ в инструкциях, которые показывают фиктивные имена файлов, поэтому я не думаю, что использую их должным образом.
Вот мой список пакетов для приложения:
├─┬ [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ ├── [email protected] │ │ └── [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ └── [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ ├── [email protected] │ │ ├── [email protected] │ │ └── [email protected] │ └─┬ [email protected] │ ├── [email protected] │ └─┬ [email protected] │ └── [email protected] ├─┬ [email protected] │ ├── [email protected] │ └── [email protected] ├─┬ [email protected] │ └── [email protected] ├─┬ [email protected] │ ├─┬ [email protected] │ │ ├─┬ [email protected] │ │ │ └── [email protected] │ │ └── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ └── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ └── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ ├── [email protected] │ │ └── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ ├── [email protected] │ │ ├─┬ [email protected] │ │ │ └── [email protected] │ │ ├── [email protected] │ │ ├── [email protected] │ │ └── [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ ├── [email protected] │ │ └─┬ [email protected] │ │ └── [email protected] │ ├── [email protected] │ └── [email protected] ├─┬ [email protected] │ ├─┬ [email protected] │ │ └── [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ └─┬ [email protected] │ │ ├── [email protected] │ │ └── [email protected] │ ├─┬ [email protected] │ │ └── [email protected] │ └── [email protected] ├── [email protected] ├─┬ [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ ├─┬ [email protected] │ │ │ └── [email protected] │ │ └─┬ [email protected] │ │ └── [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ └── [email protected] │ ├─┬ [email protected] │ │ ├── [email protected] │ │ └─┬ [email protected] │ │ └── [email protected] │ ├─┬ [email protected] │ │ └── [email protected] │ ├─┬ [email protected] │ │ ├─┬ [email protected] │ │ │ ├── [email protected] │ │ │ └── [email protected] │ │ ├─┬ [email protected] │ │ │ └── [email protected] │ │ └─┬ [email protected] │ │ ├─┬ [email protected] │ │ │ └── [email protected] │ │ └─┬ [email protected] │ │ └── [email protected] │ ├─┬ [email protected] │ │ ├── [email protected] │ │ ├── [email protected] │ │ ├── [email protected] │ │ └─┬ [email protected] │ │ ├── [email protected] │ │ ├─┬ [email protected] │ │ │ ├─┬ [email protected] │ │ │ │ ├─┬ [email protected] │ │ │ │ │ ├─┬ [email protected] │ │ │ │ │ │ └── [email protected] │ │ │ │ │ ├── [email protected] │ │ │ │ │ └── [email protected] │ │ │ │ └── [email protected] │ │ │ ├─┬ [email protected] │ │ │ │ └─┬ [email protected] │ │ │ │ ├─┬ [email protected] │ │ │ │ │ └── [email protected] │ │ │ │ ├── [email protected] │ │ │ │ └── [email protected] │ │ │ └── [email protected] │ │ ├── [email protected] │ │ └── [email protected] │ ├── [email protected] │ └─┬ [email protected] │ ├── [email protected] │ └─┬ [email protected] │ └── [email protected] ├── [email protected] ├─┬ [email protected] │ ├── [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ └── [email protected] │ └── [email protected] ├─┬ [email protected] │ ├── [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ └── [email protected] │ └── [email protected] ├─┬ [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ └── [email protected] └─┬ [email protected] ├── [email protected] └─┬ [email protected] ├── [email protected] ├── [email protected] ├─┬ [email protected] │ └─┬ [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ └── [email protected] ├── [email protected] ├─┬ [email protected] │ └── [email protected] ├── [email protected] ├── [email protected] ├─┬ [email protected] │ └─┬ [email protected] │ └── [email protected] ├─┬ [email protected] │ ├─┬ [email protected] │ │ ├── [email protected] │ │ ├── [email protected] │ │ ├─┬ [email protected] │ │ │ └── [email protected] │ │ ├─┬ [email protected] │ │ │ └── [email protected] │ │ └── [email protected] │ ├─┬ [email protected] │ │ └── [email protected] │ ├─┬ [email protected] │ │ ├── [email protected] │ │ ├─┬ [email protected] │ │ │ └── [email protected] │ │ ├── [email protected] │ │ └── [email protected] │ └─┬ [email protected] │ └── [email protected] ├─┬ [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ └── [email protected] ├─┬ [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ ├── [email protected] │ │ ├── [email protected] │ │ └── [email protected] │ └─┬ [email protected] │ ├── [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ └── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ └── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├─┬ [email protected] │ └── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] └── [email protected]