Я пытаюсь создать простой прокси-узел, который перенаправляет трафик c на два разных URL-адреса. При входящем трафике c через прокси-сервер попытается перенаправить на localhost: 9090, и если в приложении не будет совпадения URL-адресов, приложение отправит 3xx и перенаправит трафик c на другой URL-адрес другого приложения. Я вижу время ожидания сокета для запроса перенаправления во второе приложение и не могу понять, почему. Кто-нибудь знает, вызовет ли такая цепочка запросов проблему? Фрагмент кода прилагается ниже:
const https = require('https');
const request = require('request');
const server = require('../server');
const fs = require('fs');
const path = require('path');
const options = {
key: fs.readFileSync(path.resolve('./secret/key.pem')),
cert: fs.readFileSync(path.resolve('./secret/cert.pem'))
};
function onReq(cReq, cRes) {
cReq.pipe(request(`http://localhost:9090`)
.on('response', (res) => {
if (res.statusCode === 3xx) {
cReq.pipe(request(`https://abc123xxx.org`)
.on('response', (resp) => {
res.pipe(cRes);
}));
} else {
res.pipe(cRes);
}
}));
}
https.createServer(options, onReq).listen(443);