Даю пример с http, с https должно быть аналогично, но не проверял, у меня сертификаты не настроены
http.createServer( function( request, response )
{
var url_parts = url.parse( request.url );
var options = {
hostname : request.headers.host,
port : 80,
path : url_parts.path,
method : request.method,
headers : request.headers
};
var request_data;
var proxy_client = http.request( options, function( res )
{
res.on( 'data', function ( chunk )
{
response.write( chunk, 'binary' );
} );
res.on( 'end', function()
{
response.end();
} );
res.on( 'error', function ( e )
{
console.log( 'Error with client ', e );
} );
response.writeHead( res.statusCode, res.headers );
} );
request.on( 'data', function ( chunk )
{
request_data = request_data + chunk;
proxy_client.write( chunk, 'binary' );
} );
request.on( 'end', function()
{
proxy_client.end();
} );
request.on( 'error', function ( e )
{
console.log( 'Problem with request ', e );
} );
} ).listen(yourport);