Skip to content

eugeneCN/koa-server-http-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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