Web-Server
充當網橋的透明 Web 記憶體代理
是否存在作為網橋連接的 Web 記憶體代理,以便攔截來自客戶端的 GET 請求並將它們重定向到其他 Web 伺服器?(無需配置客戶端使用代理)
Client _________________ \ | | Client--- Network--- |eth0 Proxy eth1|--- Internet / |_________________| \ Client \____________ | Web cache | |____________|
謝謝。
如果您使用的是 Linux,您可以嘗試為“網路記憶體”設置透明代理,您可以執行以下操作:
在您的“eth0 代理 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
然後在“網路記憶體”框中:
$ iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
上面的範例使用策略路由。我們用目標埠 80 標記所有包,而不是用“3”標記來自 web-cache-box,當需要進行路由決策時,我們添加了一條規則,告訴標記為“3”的包應該轉到表“2”並在表“2”我們設置了一個預設網關,即“web-cache”。當包到達“網路記憶體”時,數據包被重定向到 Squid/XX 埠,在我的範例中為 3128。所有這些都無需重寫/NATing。
等等。