创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议支持这两者。
- 带有代理类的TypeError – types错误:代理中的“set”:陷阱为属性返回truish
- 具有模块请求的node.js中的代理authentication
- 错误:连接ETIMEDOUT,Node js如何在本地主机API之间进行通信
- node.js xmlhttp获取请求getaddrinfor ENOTFOUND错误
- 如何使用node-http-proxy作为多个安全服务器的代理服务器
- 如何正确创build一个HTTPS透明代理服务器与节点?
- 使用Node.js + Express 2“代理”很多HTTP请求
- Javascript – 从不同的国家发送singel http请求
- 为每个路线重新加载浏览器(Express + gulp + Browsersync)