首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将快递js路由转发到其他服务器

将快递js路由转发到其他服务器
EN

Stack Overflow用户
提问于 2016-06-23 18:57:12
回答 1查看 8.1K关注 0票数 10

我正在编写一个express.js应用程序,并希望从另一个服务器为某些路由服务。

特快专递提供一些从api.example.com/v1/*开始的航线。我希望从/ad/hoc/开始的任何路径都被转发到另一个服务器,并且由Express提供的响应,例如,api.example.com/ad/hoc/endpoint.php将被管道传输到grampas-lamp-stack.example.com/ad/hoc/endpoint.php

我可以用res.redirect实现这一点,但是我想通过我的Express应用程序来流响应,并且避免将浏览器重定向到另一个IP地址。

app.js

代码语言:javascript
复制
var express = require('express');
var app = express();

app.get('/v1/users/:id', UserCtrl.get);
app.get('/v1/users/search', UserCtrl.search);

app.get('/ad/hoc/*', function(req, res) {
  res.redirect('http://grampas-lamp-stack.example.com' + req.url);
}

我尝试搜索“代理请求表示”,但我不确定代理是否是我正在做的事情的准确术语。如果有一个更好的词来形容这个话题或我想要完成的事情,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-23 19:05:04

您可以使用express-http-proxy

是的,代理是你所要寻找的东西的准确术语。它将在下面将请求转发到另一个url,正如API也将暗示的那样。

下面是一个示例用法:

代码语言:javascript
复制
var proxy = require('express-http-proxy');
var app = require('express')();

app.use('/route/you/want/proxied', proxy('proxyHostHere', {
    forwardPath: function (req, res) {
      return '/path/where/you/want/to/proxy/' + req.url
    }
}))
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37999688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档