• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] cache_peer problem

dlorenz

Newbie
Mein squid(proxy2) bricht bei der 2ten Anfrage zum cache_peer(proxy1) die Verbindung ab. Die erste webseitenanfrage ok, dann klicke ich auf einen link oder öffne ne andere seite dann tot. Woran liegt das????
Hier ein auszug aus dem log:

Mar 2 11:23:43 proxy2 squid[4424]: Configuring Parent proxy1/3128/7
Mar 2 11:23:43 proxy2 squid[4424]: Loaded Icons.
Mar 2 11:23:43 proxy2 squid[4424]: Ready to serve requests.

Bis hier alles OK, dann die Anfrage:
Mar 2 11:33:28 proxy2 squid[4424]: Detected DEAD Parent: proxy1/3128/7

Greets David
 

styyxx

Member
Hi,

wie lautet den deine cache_peer Deriktive?
Stimmt der HTTP und ICP Port (3128 und 7 in deinem Fall) bei dem Peer?
Kannst du über den Peer direkt Verbindungen aufbauen?

Grüße
styyxx
 
OP
D

dlorenz

Newbie
in der squid.conf hab ich folgendes geschrieben:
#: squid.conf

# Port für den Browser
http_port 8080

acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

cache_mem 96 MB

cache_dir ufs /var/cache/squid 100 16 256

cache_access_log /var/log/squid/access.log

cache_log /var/log/squid/cache.log

cache_store_log /var/log/squid/store.log

pid_filename /var/run/squid.pid

debug_options ALL,1

# Authentifizierungs Parameter
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param ntlm use_ntlm_negotiate off

auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 5
auth_param basic realm Internet Anmeldung!
auth_param basic credentialsttl 2 hour

authenticate_ttl 1 hour

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

# Zugriffs Einstellungen
external_acl_type ads_group ttl=0 concurrency=5 %LOGIN /usr/sbin/wbinfo_group.pl

acl all src 10.0.0.0/255.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl https port 443
acl http_all-user external ads_group Internet-Vollzugriff
acl http-user external ads_group Internet-Http
acl proxy1 src 10.20.1.126
http_access allow proxy1
http_access allow manager localhost
http_access deny manager
http_access allow localhost

http_access allow http_all-user
http_access deny https
http_access allow http-user
http_access deny all

#http_reply_access allow all

#icp_access allow all

cache_mgr support.benutzerservice@xxxx.de

cache_effective_user squid

error_directory /usr/share/squid/errors/German

log_fqdn on
httpd_accel_with_proxy off
httpd_accel_uses_host_header off
httpd_accel_single_host off


cache_peer 10.20.1.126 parent 3128 7 proxy-only

Die Sache ist die, ich rufe zB yahoo.de auf und die seite wird vollständig geladen. Aber klicke ich auf nen neuen Link oder will ne andere Seite aufrufen geht das nicht mehr. Dann sagt er im log das parent proxy tot sei???

Greets David
 

styyxx

Member
Hi,

die Zeilen

httpd_accel_with_proxy off
httpd_accel_uses_host_header off
httpd_accel_single_host off

sind nicht nötig, außer du möchtest den Squid tatsächlich als Reverse Proxy einsetzen. Ändere die cache_peer mal in:

cache_peer 10.20.1.126 parent 3128 0 default no-query no-digest

Wenn du alles über den Parent leiten willst mußt du noch ein

never_direct allow all

einfügen. Zum testen ist das auch ganz ok, Feinheiten kann man dann immer noch machen.

Wenn es damit funktiniert kannst du wieder den ICP Port setzen und den Parent entsprechend anpassen. Allerdings mußt du dann natürlich die never_direct netfernen/anpassen weil sonst das ICP nichts bringt.

Grüße
styyxx
 
OP
D

dlorenz

Newbie
styyxx schrieb:
Hi,



cache_peer 10.20.1.126 parent 3128 0 default no-query no-digest

Wenn du alles über den Parent leiten willst mußt du noch ein

never_direct allow all


styyxx

Hi styyxx,
das hat funktioniert. Jetzt musst du mir nur noch erklären was die optionen bei cache_peer bedeuten und was das never_direct allow all bewirkt.
Vielen dank!!!!!!!
 

styyxx

Member
Hi,

schön das es funktioniert hat.
Also:
cache_peer <IP/DN des peers> <Typ des peers> <HTTP Port(3128)> <ICP/HTCP Port(0 bedeutet deaktiviert)> default(squid nutzt den peer als default, wenn er keine andere Möglichkeit hat) no-query(keine ICP/HTCP Anfragen stellen) no-digest(Es wird kein Cache Digest vom peer geladen)

never_direct allow all bedeutet das squid keine direkten Anfragen an Server machen soll und zwar für die ACL all.

always_direct steht hier im Gegenzug und es macht Sinn mit dieser Deriktive z.B. Connect Methoden und SSL zu erlauben, weil es (normalerweise) keinen Sinn macht diese über einen peer zu leiten.

Wegen ICP/HTCP und Cache Digest liest du am besten in der Doku nach. Das würde hier den Rahmen sprengen. Ganz allgemein sind das Protokolle und Methoden um einen Peer zu befragen ob er Objekte gecacht hat.

Grüße
styyxx
 
OP
D

dlorenz

Newbie
Hi styyxx
danke nochmal für deine schnelle Hilfe und die Antworten!!
Wüsche dir noch nen schönen Tag

Bis dann David
 
Oben