Я разрабатываю приложение прокси-сервера 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
});
Любая помощь будет принята с благодарностью .
Я создал среднюю статью для создания простого прокси HTTP/HTTPS в Узле js использующий внешнюю зависимость и использующий.:-
https: сокетов//medium.com / nimit95/a-simple-http-https-proxy-in-node-js-4eb0444f38fc