透明的 Web 缓存代理充当网络桥梁

透明的 Web 缓存代理充当网络桥梁

是否有 Web 缓存代理作为网络桥接器进行连接,以便拦截来自客户端的 GET 请求并将其重定向到其他 Web 服务器?(无需配置客户端来使用代理)

  Client              _________________
        \            |                 |
Client--- Network--- |eth0  Proxy  eth1|--- Internet
        /            |_________________|       \
  Client                                        \____________
                                                | Web cache  |
                                                |____________|

谢谢。

答案1

如果您使用 Linux,您可以尝试设置“Web 缓存”的透明代理,您可以执行以下操作:

在您的“eth0 Proxy eth1”框中:

$ iptables -t mangle -A PREROUTING -j ACCEPT -p tcp --dport 80 -s web-cache-box
$ iptables -t mangle -A PREROUTING -j MARK --set-mark 3 -p tcp --dport 80
$ ip rule add fwmark 3 table 2
$ ip route add default via web-cache-box dev eth1 table 2

然后在“Web 缓存”框中:

$ iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

上述示例使用策略路由。我们将所有目标端口为 80 且不是来自 web-cache-box 的包标记为“3”,当需要进行路由决策时,我们添加了一条规则,告知标记为“3”的包应转到表“2”,并在表“2”中设置默认网关,即“web-cache”。当包到达“web-cache”时,数据包将重定向到 Squid/XX 端口,在我的示例中为 3128。所有这些都无需重写/NAT。

ETC。

答案2

乌贼执行此操作。默认情况下,它会将其代理到实际的 Web 服务器,但您始终可以对其进行配置以将内容路由到其他地方。

相关内容