2010-11-28 31 views
2

J'utilise nodejs pour créer un serveur proxy simple qui enregistre les requêtes http et https, cependant, je n'arrive pas à obtenir les requêtes https à consigner (les requêtes http sont correctes)Comment transférer le trafic HTTPS dans nodejs?

Alors comment créer une serveur proxy dans nodejs qui peut configurer des connexions sécurisées?

Mon code afin ressemble beaucoup comme

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

httpProxy.createServer(function (request, response, proxy) { 
    util.log(request.connection.remoteAddress + ": " + 
     request.method + " " + 
     request.url); 

    request.addListener('data', function(chunk) { 
     util.log("request: " + chunk); 
    }); 
    uri = url.parse(request.url); 
    port = 80; 
    if (uri.protocol == 'https:') { // NEVER HAPPENS :(
     port = 443; 
    } 
    util.log("port:" + port + " host:" + uri.host); 
    proxy.proxyRequest(port, uri.hostname); 

}).listen(8080); 

Il utilise actuellement https://github.com/nodejitsu/node-http-proxy bibliothèque proxy, mais si la bibliothèque ne prend pas en charge https (ne regarde pas comme il le fait atm, puisque nulle part dans le code source Est-ce qu'il définit des informations d'identification ....), je suis heureux de réécrire le serveur proxy sans elle.

Répondre