mirror of
https://github.com/http-party/node-http-proxy.git
synced 2025-12-08 20:59:18 +00:00
problem: don't want to run my server as root to bind to privileged ports (e.g. 80, 443).
solution: support privilege drop after socket bind via new --user <username> parameter.
This commit is contained in:
parent
89d43c20dd
commit
2c3650746c
@ -17,6 +17,7 @@ var help = [
|
|||||||
" --target HOST:PORT Location of the server the proxy will target",
|
" --target HOST:PORT Location of the server the proxy will target",
|
||||||
" --config OUTFILE Location of the configuration file for the proxy server",
|
" --config OUTFILE Location of the configuration file for the proxy server",
|
||||||
" --silent Silence the log output from 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"
|
" -h, --help You're staring at it"
|
||||||
].join('\n');
|
].join('\n');
|
||||||
|
|
||||||
@ -28,6 +29,7 @@ var location, config = {},
|
|||||||
port = argv.port || 80,
|
port = argv.port || 80,
|
||||||
host = argv.host || undefined,
|
host = argv.host || undefined,
|
||||||
target = argv.target;
|
target = argv.target;
|
||||||
|
user = argv.user;
|
||||||
|
|
||||||
//
|
//
|
||||||
// If we were passed a config, parse it
|
// If we were passed a config, parse it
|
||||||
@ -85,6 +87,14 @@ if (host) {
|
|||||||
server.listen(port);
|
server.listen(port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Drop privileges if requested
|
||||||
|
//
|
||||||
|
if (typeof user === 'string') {
|
||||||
|
process.setuid(user);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Notify that the server is started
|
// Notify that the server is started
|
||||||
//
|
//
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user