Je souhaite créer un proxy TCP et HTTP simple dans node.js - Par exemple, le proxy écoute sur le port 8080 et redirige toutes les demandes TCP vers 127.0.0.1:8181
et toutes les demandes HTTP vers 127.0.0.0.1:8282
Proxy TCP/HTTP dans node.js
Je trouve cet extrait sur Google pour un simple proxy HTTP dans 20 lignes de code:
var http = require('http');
http.createServer(function(request, response) {
var proxy = http.createClient(80, request.headers['host'])
var proxy_request = proxy.request(request.method, request.url, request.headers);
proxy_request.addListener('response', function (proxy_response) {
proxy_response.addListener('data', function(chunk) {
response.write(chunk, 'binary');
});
proxy_response.addListener('end', function() {
response.end();
});
response.writeHead(proxy_response.statusCode, proxy_response.headers);
});
request.addListener('data', function(chunk) {
proxy_request.write(chunk, 'binary');
});
request.addListener('end', function() {
proxy_request.end();
});
}).listen(8080);
donc, fondamentalement, je dois écouter toute sorte de demande 8080, devinez si elle est TCP ou HTTP, et Ensuite, placez la demande dans le bon chemin. Des astuces utilisant l'extrait ci-dessus?
Merci
HTTP est le transport au niveau de l'application sur TCP. Je suppose que vous dites "essayez de vérifier si ces données tcp font une demande http valide" –