Skip to content

Commit

Permalink
problem: don't want to run my server as root to bind to privileged po…
Browse files Browse the repository at this point in the history
…rts (e.g. 80, 443).

solution: support privilege drop after socket bind via new --user <username> parameter.
  • Loading branch information
Niall O'Higgins authored and indexzero committed Mar 9, 2013
1 parent 89d43c2 commit 2c36507
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions bin/node-http-proxy
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ var help = [
" --target HOST:PORT Location of the server the proxy will target",
" --config OUTFILE Location of the configuration file for the proxy server",
" --silent Silence the log output from the proxy server",
" --user USER User to drop privileges to once server socket is bound",
" -h, --help You're staring at it"
].join('\n');

Expand All @@ -28,6 +29,7 @@ var location, config = {},
port = argv.port || 80,
host = argv.host || undefined,
target = argv.target;
user = argv.user;

//
// If we were passed a config, parse it
Expand Down Expand Up @@ -85,6 +87,14 @@ if (host) {
server.listen(port);
}


//
// Drop privileges if requested
//
if (typeof user === 'string') {
process.setuid(user);
}

//
// Notify that the server is started
//
Expand Down

0 comments on commit 2c36507

Please sign in to comment.