繁体   English   中英

我可以将http请求从一个node.js或python服务器转发到另一台服务器吗?

[英]Can I forward an http request from one node.js or python server to another server?

您好,我有这个问题,我还没有找到答案。 我想创建类似我附加的图像的东西。 我要实现的最终结构

正常的工作流程应如下所示:

  1. 客户端向服务器1发送请求;
  2. 服务器1收到请求;
  3. 服务器1向客户端发送302(重定向)响应;
  4. 然后,客户端向服务器2发送新的http请求;
  5. 服务器2收到请求;
  6. 服务器2向客户端发送200(确定)响应;

除此以外,我想实现以下内容:

  1. 客户端向服务器1发送请求;
  2. 服务器1收到请求;
  3. 服务器1将请求转发到服务器2;
  4. 服务器2收到请求;
  5. 服务器2向客户端发送直接响应;

因此,我不想将重定向响应从服务器1发送到客户端,然后将新请求从客户端发送到服务器2!

使用node.js或至少使用python?可以实现类似的功能。 我希望这种架构可以加快我的服务速度,因为服务器与服务器的连接要比客户端与服务器的连接快得多。

如果需要在server1执行对server2的请求之前做一些逻辑(例如,根据请求的某些条件在服务器2中选择端点),则可以使用Node.js标准库http模块中的请求功能(请参阅https上的文档) ://nodejs.org/dist/latest-v4.x/docs/api/http.html#http_http_request_options_callback) 但是,如果您不需要执行任何逻辑,那么最好使用https://www.npmjs.com/package/http-proxy,因为这样可以避免很多样板代码。

您需要使用代理。

https://www.npmjs.com/package/http-proxy之类的东西

或者您可以在node.js服务器之前使用nginx或类似服务器作为代理。

唯一的事情是请求必须通过代理返回,因为那就是tcp连接的工作方式

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM