【发布时间】:2019-12-08 04:25:07
【问题描述】:
我想构建一个 python http 服务器(使用 Django 或 Flask 等),我将其称为 X。另外,在另一台机器上还有另一个 python 服务,我将其称为 Y,还有一个 HTTP 服务器 Z在只能由 Y 访问的机器上运行。我希望 X 模仿 Z。更正式地说:当 X 在 http://x/PATH 上收到请求时,我想将整个请求(方法、标头、cookie、正文等)序列化为二进制字符串,通过安全连接将其传输到 Y,Y 向http://z/PATH 发出完全相同的请求,将整个响应(再次包括标头等)序列化为二进制字符串并通过安全通道将其传输到 X,并且X 向客户端提供相同的响应,几乎就像客户端连接的是 Z 而不是 X。
这实际上是一个代理,但我希望能够使用我开发的 X 和 Y 之间的自定义通信通道来完成所有这些工作(它使用 websockets,因此是全双工的)。我的意思是,只要它支持传输字符串,就可以使用任何通信通道。我愿意使用 SOCKS 等。我只是不知道如何。我需要技术细节而不仅仅是想法。
另外,我目前并不坚持也支持 websocket,但如果可以的话,那就太好了。
【问题讨论】:
-
@mattsap 我不想重定向请求。
标签: python django http networking websocket