如何直接连接反向代理服务器与客户端

时间:2015-07-23 11:51:13

标签: apache proxy reverse

问题与Apache,mod_proxy有关。

我的网站外部IP = X,内部IP = 10.0.0.1,由Apache提供,作为图像的反向代理:

ProxyPassMatch *.\.(jpg|gif|png) http://10.0.0.2/handle_image.php

当IP = Y的客户端连接到IP = X请求logo.jpg时,10.0.0.1上的Apache连接到10.0.0.2并从中检索图像;然后它将图像发送到Y上的客户端。这意味着图像数据通过10.0.0.1。

我希望Y上的客户端直接从10.0.0.2获取数据,同时保持与X的连接;即客户认为它从X获取数据但实际上是从10.0.0.1中抽取图像,因此X上的服务器网络不会通过图像传输加载。

据我所知,它应该是服务器在X和Y之间的连接10.0.0.2处劫持TCP会话。

我该怎么做?

EDIT 为了让我更清楚,我添加了一个图形。enter image description here

1 个答案:

答案 0 :(得分:0)

使用浏览器无法实现您描述的实际方法。您无法启动从后端浏览器的连接,它必须从浏览器到后端。

您可以使用websockets通过代理创建从后端到客户端的全双工连接。因此,后端可以不断地将新东西推送到浏览器,但是它通过代理,它只是以原始形式将它从后端隧道传送到浏览器。

使用httpd(Apache),可以使用mod_proxy_wstunnel 或者,您可以使用mod_lua实现此目的,但这是另一个故事。