使用url_rewriter和本地apache脚本进行youtubecaching时,squid + tproxy无法正常工作

我使用squid透明代理进行caching,而且我还使用与squid在同一台机器上运行的url_rewrite和apache脚本完成了youtubecaching。

这一切工作正常,直到我决定与TPROXY,因为它有很多好处。 当我在iptables中实现tproxy规则时,除了播放youtubevideo(url_rewriter和apache脚本进入其中)之外,一切都可以继续工作。 url_rewriter将youtube请求redirect到一个在Apache上工作的本地.php脚本(在同一台机器上)

我认为这跟squid与本地apache进程(用于youtubecaching的软件的工作方式)之间的通信有关系,tproxy也搞砸了这个,因为在执行tproxy之后,Apache的请求被发送到USER- IP(以前没有tproxy,它是用SQUID-IP),并且来自apache脚本的回复可能直接通过用户,而不是通过squid进程返回。

此外,Apache脚本应该能够与真正的YouTube服务器自由沟通,从那里获取video。

这是我的tproxy的规则,但我认为他们是非常标准的:

iptables -t mangle -N DIVERT iptables -t mangle -A DIVERT -j MARK --set-mark 1 iptables -t mangle -A DIVERT -j ACCEPT iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 8081 echo 1 > /proc/sys/net/ipv4/ip_forward ip rule add fwmark 1 lookup 100 ip route add local 0.0.0.0/0 dev lo table 100 

该系统是UBUNTU 12.04与鱿鱼版本3.1.19。

任何人遇到同样的问题,并最终解决与Squid选项或iptables规则?