Я пишу прокси-сервер HTTP/HTTPS в Node.JS, я хочу, чтобы сервер обрабатывал трафик HTTPS на том же порту, что и HTTP.HTTPS на том же порту, что и HTTP?
На рисунке ниже объясняет, почему я хочу сделать это, пользователь может просто проверить коробку ...
Я понимаю, что я не могу иметь 2 сервера прослушивает тот же самый порт, но есть ли способ установить главный сервер, который перенаправляет трафик на трафик HTTP или HTTPS?
Что-то вроде этого:
http.createServer(myHTTPCallback).listen(3129, '127.0.0.1');
https.createServer(myHTTPSCallback).listen(3130, '127.0.0.1');
//Then a main server that will listen for both kinds of traffic
main.createServer(function(req, res){
if(/*Traffic is HTTPS*/){
//Forward to 127.0.0.1:3130
}
else{
//Forward to 127.0.0.1:3129
}
}).listen(3128, '192.168.0.2');
Как бы я код выше?
РЕДАКТИРОВАНИЕ - По-Jester @ Крис Янг ответ
Я создал этот простой сервер, но я только получить выход для HTTP запросов. Также точки останова или консоль журналы не отслеживают:
var http = require('http');
http.createServer(function(req, res){
res.write('<h1>Resquest Received</h1>');
res.write('<span>Requested URL = ' + req.url + '</span>');
res.end();
}).listen(3128);
Downvoter - объясните, пожалуйста? – Drahcir