lite-proxy
v1.0.5
Published
lite-proxy is a tool to create a proxy server just with a piece of config.
Downloads
2
Readme
lite-proxy
lite-proxy is a tool to create a proxy server just with a piece of config. Why I create lite-proxy? In client/server architecture, I have meet several front-end projects, who can't access server data when develop and debug in localhost, the reasons as bellow:
- CORS
- Authentication: Request header or cookie not match in localhost environment
If want to solve these problems, nginx can work, but a lot of work need to do and not friendly to new guys(even front-end guys). So lite-proxy comes, as a dependency of project, easy to use. Just a piece of config and then npm run liteproxy
, it's done.
How to use
install
Use npm install -save-dev lite-proxy
to install or put "lite-proxy": "^1.0.0",
in your package.json.
configure
Just config in you package.json as bellow:
...
"liteProxy": {
"port": 8081,
"cookie": "token=1",
"proxies": [{
"host": "www.server1-domain.com",
"https": true,
"path": "/pathPrefex/",
"headers": {
"host": "www.server1-domain.com",
"origin": "https://www.server1-domain.com",
"referer": "https://www.server1-domain.com/index.html"
}
}, {
"host": "www.server0-domain.com",
"https": true,
"headers": {
"host": "www.server0-domain.com",
"origin": "https://www.server0-domain.com",
"referer": "https://www.server0-domain.com/index.html"
}
}]
},
...
With this config, we create a proxy server listening on 8081 port. This proxy server will delegate any request starts /pathPrefex/
to https://www.server1-domain.com
, and delegate any other request to https://www.server0-domain.com
. These requests send by proxy server will take the cookie and headers set in config.
port
Port number proxy server listening.
cookie
Cookie for request send to back-end server.
proxies
An array to define each proxy. You must take the proxy with path in front the proxy without path.
proxy.host
The back-end server domain.
proxy.https
Use https or not.
proxy.headers
Any headers you wan't to feed back-end server.
proxy.path
Path prefex, only the request starts with this config will be delegated by this proxy.
[proxy.cookie]
Cookie for request send to this back-end server. If not set, will use the outer cookie config.