reverse-proxy-listener
TypeScript icon, indicating that this package has built-in type declarations

0.0.1 • Public • Published

Reverse Proxy Listener

Build Status

Simple load balancing reverse proxy RequestListener based on pure Node.js.

WARNNING: Do not use this development listener in a production environment!

API

  • reverse-proxy-listener([UpstreamServers]) => http.RequestListener
interface UpstreamServer {
  server: string; // the address of remote server, as the backend.
  weight?: number; // the weight of the server, by default, 1.
}

Usage

// config.js
module.exports = [
  { server: '127.0.0.1:8081', weight: 5 },
  { server: '127.0.0.1:8082', weight: 1 },
  { server: '127.0.0.1:8083', weight: 1 }
]

As a server.

const http = require('http');

const createRPL = require('reverse-proxy-listner');
const config = require('./config');
const proxyListener = createRPL(config);

const server = http
  .createServer(proxyListener)
  .listen(8080);

As a middleware.

const Koa = require('koa');
const Router = require('koa-router');

const createRPL = require('reverse-proxy-listner');
const config = require('./config');
const proxyListener = createRPL(config);

const app = new Koa();
const router = new Router();

router.use('/proxy', (ctx, next) => {
  return proxyListener(ctx.req, ctx.res);
})

app.use(router.routes());

Readme

Keywords

none

Package Sidebar

Install

npm i reverse-proxy-listener

Weekly Downloads

2

Version

0.0.1

License

MIT

Unpacked Size

15.8 kB

Total Files

14

Last publish

Collaborators

  • claude-ray