multi-proxy-server
v1.0.3
Published
A simple forward proxy server for processing API calls to servers that don't send CORS headers or support HTTPS.
Downloads
3
Readme
MultiProxyServer
In some case,a local server would be setup for developing,but sometime remote server APIs can't be called successfully due to
CROS header is not set
http/https mismatch
remote server may ask for cookies to be set.(which is CROS too)
what we do
A multi proxy server that can make several servers in each different domain act as a single server.
It forwards request for processing API calls to servers that don't send CORS headers or support HTTPS.
install
npm install multi-proxy-server
Notice
- Dont support
https
yet - We suggest this is only be used in develop mode.Don't use as a production.
how to set
Edit config.js
exapmle:
// Listen port
exports.port = process.env.PORT || 3000;
// Log request message into console
exports.enable_logging = true;
// The lenght of time we'll wait for a proxy server to respond before timing out.
exports.proxy_request_timeout_ms = 10000;
// Forwarding settings
//Check if the url to be forward is match the pattern "check",if so forward it to "url".
exports.forwards = [
{
check : /^\/tif/,
url : "https://somedomain.com/tif"
},
{
check : /^\/dev/,
url : "http://127.0.0.1:8888/dev"
},{
check : /^\/app/,
url : "http://127.0.0.1:8080/dest/app"
}
];
// If none of the "forwards" is matched,this become the forwarding address.
// http , https
exports.else_forward_url = "http://127.0.0.1:8080/dest";
This config setting will listen to port 3000
.
When request url http://127.0.0.1:3000/tif/api/getFoo
was send.multi-proxy-server
will forward it to https://somedomain.com/tif/api/getFoo
,which is defined in config.js
, and add CROS headers.
notice
The way we determin forwarding url.
- The url_path of
http://127.0.0.1:3000/tif/api/getFoo
is"/tif/api/getFoo"
- remove macthed pattern
^/tif
in url_path - the rest part is
"/api/getFoo"
- append rest path to
"forwards.url"
- it become
https://somedomain.com/tif/api/getFoo
thanks for
This proxy server is based on thingproxy
,and many modification was made to fit and get new features.