Я разработал службу, которая получает параметр запроса под названием proxyTarget, а затем запрашивает URL-адрес веб-сайта proxyTarget и отправляет ответ HTML клиенту. Поскольку многие веб-сайты ссылаются на ресурсы stati c как относительный путь, а не абсолютный, последующие запросы снова проходят через nodejs API, который не может обработать эти запросы, поскольку не знает, для каких удаленных ресурсов веб-сайта запрашиваются.
Для иллюстрации: -
Мой nodejs api получает запрос как localhost: 8080 / proxy? ProxyTarget = http://someotherwebsite1.com И еще один запрос попадания api, localhost: 8080 / proxy? proxyTarget = http://onemorewebsite.org
В ответе HTML someotherwebsite1.com есть некоторые ресурсы, к которым осуществляется доступ, например css и файлы изображений. Я не знаю, как обрабатывать последующие запросы, которые браузер отправляет моему серверу, запрашивая эти ресурсы. например, последующие запросы выглядят как localhost: 8080 / css / somecssstyle. css localhost: 8080 / js / gettherequiredscript. js
Маршрутизатор приложений express выглядит следующим образом: -
function initializeRouting(app) {
app.options('*', cors());
app.post('*', cors());
app.put('*', cors());
app.get('*', cors());
app.use('/proxy', proxyRouter);
}
proxyRouter.route('/').get(controller.getProxyTargetHtml);
// controller method
function getProxyTargetHtml(req, res, next){
const targetUrl = getQueryParamProxyTarget(req) // gets http://someotherwebsite1.com in first case.
req.pipe(request(targetUrl)).pipe(res);
}