Прокси-сервер HTTPS в node.js

Я разрабатываю приложение прокси-сервера node.js и хочу, чтобы оно поддерживало HTTP и HTTPS (SSL) протоколы (в качестве сервера).

В настоящее время я использую node-http-proxy следующим образом:

const httpProxy = require('http-proxy'),
      http = require('http');

var server = httpProxy.createServer(9000, 'localhost', function(req, res, proxy) {
    console.log(req.url);
    proxy.proxyRequest(req, res);
});

http.createServer(function(req, res) {
    res.end('hello!');
}).listen(9000);

server.listen(8000);

Я настроил мой браузер использует прокси HTTP на localhost: 8000 , и он работает. Я также хочу перехватывать запросы HTTPS (т. е. настроить свой браузер для использования localhost: 8000 как прокси HTTPS и перехватывает запросы в моем приложении). Не могли бы вы помочь мне, как я могу это сделать?

PS :

Если я подписаться на событие upgrade объекта сервера httpProxy Я могу получать запросы, но я не знаю, как переслать запрос и отправить ответ клиенту:

server.on('upgrade', function(req, socket, head) {
    console.log(req.url);
    // I don't know how to forward the request and send the response to client
});

Любая помощь будет принята с благодарностью .

35
задан user1051478 17 November 2011 в 10:36
поделиться

1 ответ

Я создал среднюю статью для создания простого прокси HTTP/HTTPS в Узле js использующий внешнюю зависимость и использующий.:-

https: сокетов//medium.com / nimit95/a-simple-http-https-proxy-in-node-js-4eb0444f38fc

1
ответ дан 18 November 2019 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: