9
用express.js代理
为避免同域AJAX问题,我希望我的node.js Web服务器转发来自URL的所有请求 /api/BLABLA到另一个服务器,例如other_domain.com:3000/BLABLA,并透明地将与该远程服务器返回的相同的内容返回给用户。 所有其他网址(旁边 /api/*)均应直接提供,不能进行代理。 如何使用node.js + express.js实现此目的?您可以举一个简单的代码示例吗? (Web服务器和远程3000服务器都在我的控制之下,都运行带有express.js的node.js) 到目前为止,我已经找到了这个https://github.com/http-party/node-http-proxy,但是阅读那里的文档并没有使我更加明智。我最终以 var proxy = new httpProxy.RoutingProxy(); app.all("/api/*", function(req, res) { console.log("old request url " + req.url) req.url = '/' + req.url.split('/').slice(2).join('/'); // remove the '/api' part console.log("new request url " + req.url) proxy.proxyRequest(req, res, { host: "other_domain.com", port: 3000 }); }); …