创build一个通过客户端计算机路由的代理

我正在提供的服务基本上只是一个用于其他服务api的UI,它只允许在一定时间内每台机器发出特定数量的请求。

因为我会为很多人提出api请求,所以我很快就达到了这个限制,所以为了解决这个问题,我想使用JQuery在客户端进行api调用,但是由于javascripts 同源策略,相当困难。

所以我想知道,是否有可能创build一个服务器端代理,通过客户端IP地址路由API请求? 如果是的话,我怎么能去实现呢? 我已经看了像node-http-proxy的代理表这样的东西,但我仍然不确定它是否会与客户端IP地址一起工作。

不幸的是,当通过这样的服务器代理进行路由时,您不能“使用客户端IP”作为源。

然而,如果服务接受一个X-Forwarded-For HTTP Header,你可能会很幸运。 将请求发送到服务时,您可以在代理中设置该标头。 头部的值应该是客户端IP。

阅读更多关于X-Forwarded-For这里: http : //en.wikipedia.org/wiki/X-Forwarded-For

正如@HallvarHelleseth所说,你不能做你想要的。 但是,如果有问题的服务支持JSONP或CORS ,则应该能够从客户端直接执行您想要的操作。

jQuery支持CORS和JSONP,如果你使用的话。 限制是IE <10与其他支持CORS的浏览器不同。 对于那些实施API服务的人来说,我会build议支持这两者。