gpt4 book ai didi

node.js - 您可以从另一台服务器发送 HTTP 响应吗?

转载 作者:搜寻专家 更新时间:2023-11-01 00:39:35 24 4
gpt4 key购买 nike

也许是个愚蠢的问题。

我最近一直在玩 Node.js,喜欢设置服务器和发出请求等是多么容易。我还没有尝试过,但想知道如何将数据从一个请求转发到另一台服务器,并让第二个服务器向客户端发送响应。

这可能吗?

客户端X -> 服务器A -> 服务器B -> 客户端X

令我困惑的是如何发送给同一个客户?此信息应该出现在请求 header 中,但不是吗?是将该信息转发到服务器 B 的问题吗?

我在 Node.js 服务器上接受请求,并希望将一些数据转发到我创建的 Laravel API 并向那里的客户端表单发送响应。

感谢您的回答,

马特

最佳答案

使用 request 很容易做到这一点模块。

这是“服务器 A”的示例实现,它将按原样将所有请求传递给服务器 B,并将其响应发送回客户端:

'use strict';
const http = require('http');
const request = require('request').defaults({ followRedirect : false, encoding : null });

http.createServer((req, res) => {
let endpoint = 'http://server-b.example.com' + req.url;
req.pipe(request(endpoint)).pipe(res);
}).listen(3000);

您也可以使用 http 来代替 request模块,但 request 使它更容易。

任何对 http://server-a.example.com/some/path/here 的请求都将被传递到服务器 B,具有相同的路径(+ 方法、查询字符串、正文数据, ETC)。

followRedirectencoding 是我发现在像这样向其他服务器传递请求时有用的两个选项。它们被记录在案 here .

关于node.js - 您可以从另一台服务器发送 HTTP 响应吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39453514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com