koa-server-http-proxy icon indicating copy to clipboard operation
koa-server-http-proxy copied to clipboard

A koa-http-proxy-middleware

koa-server-http-proxy

A koa2 http-proxy-middleware.

Installation

$ npm install koa-server-http-proxy --save

Example

const Koa = require('koa')

const app = new Koa()

const proxy = require('koa-server-http-proxy')

app.use(proxy('/api', {
  target: 'https://news-at.zhihu.com',
  pathRewrite: { '^/api': 'api/4/' },
  changeOrigin: true
}))

app.listen(3000)


Browser

http://127.0.0.1:3000/api/themes

Example2

const Koa = require('koa')

const app = new Koa()

const proxy = require('koa-server-http-proxy')

const proxyTable = {
  '/json': {
    target: 'http://jsonplaceholder.typicode.com',
    pathRewrite: { '^/json': '' },
    changeOrigin: true
  },
  '/api': {
    target: 'https://news-at.zhihu.com',
    pathRewrite: { '^/api': 'api/4/' },
    changeOrigin: true
  }
}

Object.keys(proxyTable).forEach((context) => {
  var options = proxyTable[context]
  app.use(proxy(context, options))
})

app.listen(3000)


Options

All options are passed to http-proxy-middleware, except that if options is passed as a string, it will normalized as options' target.

See http-proxy-middleware for full list of accepted options.

License

MIT