[squid-users] Caching issue with http_port when running in transparent mode

From: Hans Musil <hans.musil_at_gmx.de>
Date: Mon, 28 May 2012 21:34:40 +0200

Hi,

my box is running on Debian Sqeeze, which uses SQUID version 2.7.STABLE9, but my problem also seems to affect SQUID version 3.1.

These are the importend lines from my squid.conf:

http_port 3128 transparent
http_port 3129 transparent
url_rewrite_program /etc/squid/url_rewrite.php

First, I did configure my Linux iptables like this:

# Generated by iptables-save v1.4.8 on Mon May 28 21:04:09 2012
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.17.0.1:3128
COMMIT

and everything works fine.

But when I change the redirect port in the iptables settings from 3128 to 3129, Squid behaves strange: My URL rewrite program still gets send myport=3128, althought there is definitely no more request on this port, but only on 3129. This only affects HTTP domains that already have been requested before, i.e. with redirection to port 3128, and it works fine again when I do a force-reload on my browser. Also, things turn well when waiting some minutes.

I suppose there is some strange caching inside Squid that maps the HTTP domain to an incoming port.

Could anybody help with some workaround?

Thanks in advance.

Hans

-- 
NEU: FreePhone 3-fach-Flat mit kostenlosem Smartphone!                                  
Jetzt informieren: http://mobile.1und1.de/?ac=OM.PW.PW003K20328T7073a
Received on Mon May 28 2012 - 19:34:49 MDT

This archive was generated by hypermail 2.2.0 : Tue May 29 2012 - 12:00:05 MDT