ich diesen Code I-Proxy erstellen möchten verwenden, die alle Anwendungsaufrufe an Port 3000 wird „unter der Haube“ auf Port 3002Proxy Anfrage an neuen Port mit http-Proxy
var http = require('http'),
httpProxy = require('http-proxy');
var proxy = httpProxy.createProxyServer();
http.createServer(function (req, res) {
proxy.web(req, res, {
target: 'http://localhost:3002'
});
}).listen(3000);
// Create 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(3002);
Jetzt geroutet werden, wenn ich führen Sie die Anwendung mit Original-Port (3000) I im Browser sehen
Anfrage erfolgreich
bis 3002 proxied Wenn ich den Port ändern (im Browser) zu Ich bekomme immer noch die gleiche Nachricht, warum? Ist es o.k?
Was soll ich in Produktion innerhalb des zweiten erstellen Server setzen? Ich meine anstelle des
res.writeHead(200, { 'Content-Type': 'text/plain' }); res.write('request successfully proxied to: ' + req.url + '\n' + JSON.stringify(req.headers, true, 2)); res.end();
Hat der
res.end()
auch da sein sollte?
Ich verwende den Code aus https://github.com/nodejitsu/node-http-proxy
Dank Amit 1+, die zweite betrachten ... Ich möchte nur Proxy alle Anfrage von Port 3000 bis 3002, dass es! , also was sollte ich in die zweite Server-Erstellung reinsetzen? res.end()? –
Der Punkt bei der Erstellung eines (umgekehrten) Proxys ist das Weiterleiten/Verbergen/LB/anderer Anfragen, die von einem Endpunkt zu einem realen Server auf einem anderen Endpunkt (normalerweise intern) eingehen. In solchen Fällen müssen Sie den zweiten Server überhaupt nicht erstellen. Es sollte schon "da sein", etwas Nützliches tun. – Amit
Danke Amit, also kannst du in der post angeben wie genau das aussehen soll davon ausgehen das ich nur Proxy von 3000 bis 3002 benutzen muss, wie würdest du es schreiben (in prod) da ich ziemlich neu zu diesem Thema bin, Vielen Dank im Voraus, Sir! –