javascript - Node.js 作为转发代理但更改 URL 路径?

标签 javascript http node.js

我如何让 node.js 充当代理并将所有从一台服务器发送的请求转发到另一台服务器,但从 url 路径中剥离/couchdb/以便例如 POST/couchdb/mydatabase 将是 POST/mydatabase。当它收到响应时,它应该将它发送到第一台服务器。

我所做的就是(使用 express)获取 URL 路径以/couchdb/开头的所有请求

app.all(/^\/couchdb\/(?:.)*/, function(req, res) {

});

谁能指导我完成。谢谢

最佳答案

看看node-http-proxy .你可以这样使用它:

  var http = require('http'),
  httpProxy = require('http-proxy');
  httpProxy.createServer(function (req, res, proxy) {
         // Put your custom server logic here (eg rewrite url/header,...)
      proxy.proxyRequest(req, res, {host: 'localhost', port: 9000});
  }).listen(8000);

关于javascript - Node.js 作为转发代理但更改 URL 路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4966655/

相关文章:

javascript - routingProvider 不与 Controller 形式的单独文件一起使用

http - 重定向到同一个 URL 是否安全?

node.js - 有没有办法直接在 Jade 中包含 html 文件或片段?

jquery - 如何使用 webpack 和 angular2 部署生产代码

javascript - 如何增加 "window.OnBeforeUnload"发送 Ajax ping 的成功率?

javascript - AngularJS 将地理坐标从 Lambert 2 转换为 WSG84

php http请求内容原始数据enctype=multipart/form-data

javascript - 如何让类构造函数在 Nodejs 中创建新实例时发出事件

javascript - knockoutjs 从一个函数保存多个 View 模型?

http - 是否可以从 http Handle 函数写入 channel ?