Skip to content

Pre-process PROXY protocol headers from node tcp sockets

License

Notifications You must be signed in to change notification settings

fijimunkii/node-proxyproto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-proxyproto

Pre-process PROXY protocol headers from node tcp sockets

License: ISC

This will allow a regular node server to accept PROXY protocol v2 connections

Just pass in your server to get running:

const server = require('http').createServer((req,res) => res.end('OK'));
server.listen(5555);

const proxied = require('proxyproto').createServer(server);

Server can be net, http, https, tls, etc

All available options:

require('proxyproto').createServer(server, {
  setNoDelay: true, // diable nagle algorithm
  handleCommonErrors: false, // handle common socket errors (default: true)
  onError: err => log.error(err) // error handler for servers and sockets
});

Performance

Load test shows neglible latency difference with a vanilla http server

Authors

fijimunkii

License

This project is licensed under the ISC License - see the LICENSE file for details.