2014-02-05 2 views
1

Я использую следующий код для реализации обратного прокси на node.js. Она работает нормально, но проблема в том, что, когда я пытаюсь получить доступ к серверу 127.0.0.1:9008/» это вполне доступно. Я хочу, чтобы он был доступен только через прокси-сервер. Пожалуйста, помогите ..Как скрыть сервер node.js с помощью http-proxy

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

// 
// Create a proxy server with latency 
// 
var proxy = httpProxy.createProxyServer(); 

// 
// Create your server that make an operation that take a while 
// and then proxy de request 
// 
http.createServer(function (req, res) { 
// This simulate an operation that take 500ms in execute 
setTimeout(function() { 
proxy.web(req, res, { 
    target: 'http://127.0.0.1:9008' 
}); 
}, 500); 
}).listen(8008); 

// 
// Create your target server 
// 
http.createServer(function (req, res) { 
res.writeHead(200, { 'Content-Type': 'text/plain' }); 
res.write('request successfully proxied to: ' + req.url + '\n' + JSON.stringify (req.headers,  true, 2)); 
res.end(); 
}).listen(9008); 

ответ

1

}).listen(9008, "127.0.0.1");

Это будет иметь свой целевой сервер слушать на петлевой IP-адрес, который не доступен из других машин. Это стандартная практика для услуг за прокси.

При привязке к 127.0.0.1, изменив последняя строка к тому, что у меня выше, вы достигаете своей цели. Невозможно t o ограничивать это. Вы всегда сможете подключиться к целевому серверу на своем порту, но ТОЛЬКО КОГДА ПОДКЛЮЧАЙТЕСЬ ОТ ЖЕСТОЙ МАШИНЫ. Это то, что означает loopback. Если вы попытаетесь ограничить дальнейшее, даже сам прокси не сможет подключиться, что необходимо для функционирования системы вообще.

Если вы собираетесь писать веб-серверы и прокси-серверы, прочитайте несколько базовых сетевых обучающих программ и узнайте о немаршрутизированных петлевых IP-адресах. Тогда это будет иметь больше смысла, но с тех пор, как вы прокомментировали это, я не собираюсь объяснять, почему это работает выше абзаца выше.

+0

Peter Я отредактировал мой вопрос..pls объяснить ур решение в деталях .. – user3273675

+0

Thnax peter..I получил концепцию. – user3273675

 Смежные вопросы

  • Нет связанных вопросов^_^