Skip to content

Instantly share code, notes, and snippets.

@barata0
Created December 14, 2016 17:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save barata0/f63ca55caaf3403798c7939f22015b4c to your computer and use it in GitHub Desktop.
Save barata0/f63ca55caaf3403798c7939f22015b4c to your computer and use it in GitHub Desktop.
A nodejs proxy server e.g. https to http
// To start
// node proxy-server.js REMOTE_ADDR PORT
// REMOTE_ADDR the remote address. eg. https://my-secure-site
// PORT port number to listen
var http = require('http');
var request = require('request');
var url = require('url')
var REMOTE_ADDRESS = process.argv[2]
var PORT = parseInt(process.argv[3])
console.log(process.argv)
var server = http.createServer(function(req, res) {
var remote = REMOTE_ADDRESS + req.url
// request the file from a remote server
var rem = request(remote);
rem.on('response', function(response) {
//res.writeHead(response.statusCode, { 'Content-Type': response.headers['content-type']});
res.writeHead(response.statusCode, response.headers);
});
rem.on('data', function(chunk) {
res.write(chunk);
});
rem.on('end', function() {
res.end();
});
});
server.listen(PORT, function(){
//Callback triggered when server is successfully listening. Hurray!
console.log("Server listening on: http://localhost:%s", PORT);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment