fly-proxy-nginx v1.0.6
koa-nginx
Middleware for koa2. Reverse proxy middleware for koa. Proxy resources on other servers, such as Java services, and other node.js applications. Based on http-proxy library.
Forked by koa-nginx
Require
node v8.0 +
Installation
First install node.js(v8.0.0 or higher). Then:
$ npm i fly-proxy-ngnix --saveUsage
When you request url contains terminal, it will transmit to http://127.0.0.1:3000/ !
const Koa = require('koa');
const Proxy = require('fly-proxy-ngnix');
const app = new Koa();
const Ngnix = Proxy.proxy({
proxies: [
{
host: 'http://localhost:3333/',
context: 'ngnix'
},
]
});
app.use(Ngnix);
app.listen(3000);
API
Options
logLevellogging level。unrequired,String,default 'info'. logging levels are prioritized from 0 to 5 (highest to lowest):
| logLevel | level |
|---|---|
| error | 0 |
| warn | 1 |
| info | 2 |
| verbose | 3 |
| debug | 4 |
| silly | 5 |
proxyTimeouttimeout for outgoing proxy requests.unrequired,the values are in millisecond,Number,default 30000rewriterewrites the url redirects.unrequired,Funtion, defaultpath.replace(context, '')handleReqThis event is emitted before the data is sent. It gives you a chance to alter the proxyReq request object. Applies to "web",includeproxyReq,req,res,options
const Ngnix = Proxy.proxy({
proxies: ...,
handleReq: proxyObj => {
{ proxyReq, req, res, options } = proxyObj;
}
});handleResThis event is emitted if the request to the target got a response,includeproxyRes,req,reserrorThe error event is emitted if the request to the target fail,includeerr,req,resproxieskoa-ngnix important parameter,required,expect get array,Each of the internal objects is a proxy combination, and some of the internal parameters can override globally parameters of the same name.targeturl string to be parsed with the url modulecontextLocal proxy root address,required,string formatlogsunrequired,Boolean, default truerewriteunrequired,FunctionproxyTimeoutunrequired,Number
Most options based on http-proxy.
- host: the end point server
- context: the request url contains the 'context' will be proxy
const Ngnix = Proxy.proxy({
proxies: [
{
target: 'http://127.0.0.1:3000',
context: 'api',
logs: false,
rewrite: path => path.rewrite('api', 'rewriteApi'),
proxyTimeout: 10000,
},
{
...
},
],
proxyTimeout: 5000,
logLevel: 'debug',
...
});
app.use(Ngnix);