gpt4 book ai didi

http - 是否可以透明地委托(delegate) HTTP 请求?

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:11:22 25 4
gpt4 key购买 nike

假设计算机 A 向服务器 B 发送一个 HTTP 请求,B 希望 C 响应它。 C 是否可以在没有 B 干预且没有 A 的特定操作(如 3xx 重定向)的情况下将响应发送回 A?假设 C 可能没有公共(public) IP 地址。

最佳答案

这就是反向代理 会做的事情。根据您使用的平台,有很多选择。

一种适用于许多平台的方法是,例如您可以在服务器 B 上启动的 node-http-proxy。在最简单的情况下,这个单行代码可以做到:

require('http-proxy').createServer(81, 'serverb').listen(80);

它监听 80 端口并重定向到 serverb 上的 81 端口。

参见 https://github.com/nodejitsu/node-http-proxy更多选项。

当然,有很多成熟的代理,还有更多的功能(尽管 node-http-proxy 也可以做 https 隧道等),但是配置这些代理比运行这个更具挑战性-衬垫。这完全取决于您的用例。

编辑:阅读您的评论,这可以使用直接路由来完成。您的问题是关于 HTTP(第 7 层)的,由于直接路由 在较低层上工作,因此 HTTP 等较高级别的协议(protocol)也可以工作。引自 http://horms.net/projects/has/html/node9.html :

Direct Routing: Packets from clients are forwarded directly to the back-end server. The IP packet is not modified, so the back-end servers must be configured to accept traffic for the virtual server's IP address. This can be done using a dummy interface, or packet filtering to redirect traffic addressed to the virtual server's IP address to a local port. The back-end server may send replies directly back to the client. That is if a host based layer 4 switch is used, it may not be in the return path.

关于http - 是否可以透明地委托(delegate) HTTP 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12938845/

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