Я создал ExpressJS-сервер, который предоставляет маршрут для запроса на получение.
Я использую самоподписанный сертификат, чтобы разрешить вызовы https. Он отлично работает, когда я выполняю запрос через основные браузеры (Chrome, Safari и Firefox). Однако , когда дело доходит до реального варианта использования , а именно выполнить запрос get через другой скрипт nodeJs, серверу не удается передать запрос, и я получаю это сообщение об ошибке:
Error: unable to verify the first certificate
at TLSSocket.<anonymous> (_tls_wrap.js:1105:38)
at emitNone (events.js:106:13)
at TLSSocket.emit (events.js:208:7)
at TLSSocket._finishInit (_tls_wrap.js:639:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:469:38)
Конфигурация приложения My Express:
app.use([
express.urlencoded({ extended: true }),
express.json(),
function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.header("Access-Control-Allow-Methods", "GET");
next();
},
]);
Сервер создается с использованием пакета https для узла:
const credentials = {
key: fs.readFileSync(credits.sslPrivateKey, "utf8"),
cert: fs.readFileSync(credits.sslCertificate, "utf8")
};
let httpsServer = https.createServer(credentials, app);
Соответствующие пакеты:
express: "^4.16.3",
node: v8.10.0,
npm: 5.8.0