PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Transparenter Squid: Ist mein Problem überhaupt lösbar?



spacebull
17.06.09, 15:55
Hallo Kollegen,

ich möchte folgendes:
Von meinem Webserver werden viele Anfragen an einen externen Webservice gestellt. Alles über HTTP, Zielport 80. Diese Anfragen, bzw. die Antworten sind häufig die selben, aber dauern teilweise recht lange (~3sec). Meine Seite wiederum baut sich erst auf, wenn alle Informationen, die ich per Webservice hole, da sind. Daher dauert der Seitenaufbau teilweise 10sec, was eindeutig zu lange ist.

Mein Server hat die IPs
eth0 192.168.1.60
tun0 192.168.42.1


testing:/var/log/squid3# route -n
Kernel-IP-Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
192.168.42.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.42.0 192.168.42.2 255.255.255.0 UG 0 0 0 tun0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0


eth0 geht an meinen Router und dann nach draußen.
tun0 ist von openvpn. Da hängen alle unsere Entwickler dran.

Nun möchte ich gerne den lokalen webserver, auf dem wir entwickeln mit squid cachen.
Dazu hab

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
gemacht.


Config noch:


/etc/squid3/squid.conf:
http_port 3128 transparent
acl our_networks src 192.168.0.0/16
acl localnet src 127.0.0.1/255.255.255.255
http_access allow our_networks
http_access allow localnet


Nur leider komme ich nicht weiter. Entweder Squid sagt "ERROR The requested URL could not be retrieved", oder es funktioniert nicht, also wird nicht gecached, der Seitenaufbau funktioniert aber. Je nachdem, ob ich ein wenig mit der Config spiele.

Nun ist meine Frage, ob es überhaupt möglich ist, Anfragen vom gleichen Server über Squid zu cachen... Sonst muss ich halt ne Box dazwischen hängen.

Über Tipps würde ich mich sehr freuen!

Viele Grüße,
Matthias

blubbersuelze
26.07.09, 20:02
ich blicke im Moment nicht so ganz was du willst ...
erkläre mir mal bitte wie dein Netz aufgebaut ist zwischen Internet und Webserver ... so das ich mal sehe wo der Webserver, der Router, der Proxy und die Clients stehen

Dann kann ich dir evtl. helfen.

mfg.
blubbersuelze :p

Alex_K
28.07.09, 06:28
oder es funktioniert nicht, also wird nicht gecached, der Seitenaufbau funktioniert aber.


Wie sehen die Http-Header der zu cachenden Requests aus?
Damit Squid weiß ob er cachen darf müssen die Server die entsprechenden Http-Tags (Last-Modified, Etag) korrekt setzen, sonst kann es nicht funktionieren.

Ich hab mit Squid schon länger nichts zu tun gehabt, aber es sollte doch möglich sein über die Logs raus zu finden warum die Seiten nicht gecached werden (im Zweifelsfall das Loglevel höher drehen).