- noch im Aufbau -
Für weitergehende Informationen empfehle ich vorerst die englische Squid FAQ unter:
http://www.squid-cache.org/Doc/FAQ/FAQ.html
*** Dokument wird noch erzänzt ***
*** Dokument wird noch erzänzt ***
Zum Squid Proxyserver gibt es bedaurlicherweise kaum Dokumentation in Buchform und schon gar nicht auf deutsch.
Dafür finden Sie im Internet eine Menge nützlicher Seiten zu Squid. Hier eine kleine Auswahl:
Squid ist ein freies "Open Source"-Projekt das von einer Vielzahl von Programmierern unterstützt wird. Die Entwicklung wird von Duane Wessels vom amerikanischen "National Laboratory for Applied Network Research" geleitet. Die aktiven Mitarbeiter des Squid-Projekts finden Sie in der Mitarbeiterliste auf der Squid-Homepage:
http://www.squid-cache.org/CONTRIBUTORS
Squid läuft auf nahezu allen Unix-ähnlichen Betriebssystemen wie z.B. Linux, FreeBSD, NetBSD, OpenBSD, BSDI, OSF, IRIX, Sun Solaris, AIX, HP-UX. Z.T. sind inzwischen auch Portierungen auf andere Betriebssysteme im Internet zu finden.
Es gibt inzwischen auch einige Portierungen auf Windows NT. Ein Produktionsbetrieb unter Windows ist jedoch zz. nicht zu empfehlen.
Ja, viele IT Beratungsfirmen setzt inzwischen auch erfolgreiche auf Open Source Software. Selbst namenhafte Firmen wie IBM und Siemens leisten hier kommerzielle Unterstützung. In wie weit diese Firmen auch Squid unterstützen, erfragen Sie am besten vor Ort. Eine Liste von Firmen die Kompetenz im Squid-Umfeld besitzen ist in Vorbereitung.
Ja und Nein. Squid ist unter der "GNU General Public License" veröffentlicht. Diese ermöglicht eine lizenzgebührenfreie Nutzung von Squid. Die originale Lizenz finden Sie im Squid Paket oder im Internet unter: http://www.gnu.org/licenses/gpl.html.
Eine inoffizielle deutsche Übersetzung finden Sie unter: http://www.gnu.de/gpl-ger.html.
Squid ist Lizenzkostenfrei unter der GPL verfügbar. D.h. für die Benutzung von Squid fallen keine Lizenzkosten an. Dies ist auch unabhängig davon, ob Sie ihn im privaten oder kommerziellen Umfeld einsetzen.
Kosten können Ihnen lediglich für die Inanspruchnahme von kommerziellem Support, das Erstellen von Datenträgern oder für kommerziell vertriebene Dokumentation entstehen. Diese Kosten sind abhängig davon, wessen Dienste Sie hierfür in Anspruch nehmen und was mit dem jeweiligen Anbieter vereinbart wird.
Squid can SSL-Anfragen weiterverbinden. Standardmässig leitet Squid diese Anfragen direkt zum Zielrechner weiter. In Firewall-Umgebungen kann Squid die SSL-Anfragen aber auch an einen weiteren Proxy weiterleiten, den man über die ssl_proxy-Direktive einstellen kann.
Normalerweise bestimmt Squid selbst anhand seiner Regelwerke ob und wie lange er Seiten im Cache behält. Dynamische oder durch Metadaten entsprechend gekennzeichnete Seiten werden grundsätzlich nicht im Cache gehalten. Häufig aktualisierte Seiten werden auch entsprechend häufig auf Ihre Aktualität geprüft.
Es gibt also in den meisten Fällen keinen Grund das Caching von Seiten abzuschalten.
Sollte es dennoch einmal nötig sein, gibt es je nach Anwendungsfall verschiedene Möglichkeiten das chaching zu unterbinden.
Der hierfür entscheidende Eintrag lautet "no_cache".
Die Syntax entspricht der von "http_access".
Beispiel:
Alle Anfragen an Server aus dem eigenen lokalen Netz (192.168.10.0/24)
sollen nicht gecached werden:
acl Local dst 192.168.10.0/24Beispiel:
no_cache deny Local
acl NoCache dst_domain .nocache.com
no_cache deny NoCache
Standardmäßig wird für ftp-Server automatisch der Benutzer "anonymous" verwendet. anonymous-ftp sollte also ohne weitere Angaben, allein mit der ftp-URL funktionieren.
Beispiel:Erfordert Ihr Zielserver jedoch eine Benutzer und Passwortangabe von Ihnen, können Sie diese Angaben auch in der URL mit senden. Die URL lautet in diesem Fall:
ftp://ftp.foo.org/
ftp://Benutzer:Passwort@ftp.foo.org/
Benutzer: ist durch Ihren Benutzernamen zu ersetzen,Bitte beachten Sie, dass Ihr Benutzer und Passwort hierbei im Klartext eingegeben wird und sowohl in der Verlaufliste Ihres Browsers als auch ggf. in Logfiles anderer Proxyserver sichtbar ist !
Passwort: durch das zugehörige Passwort.
Squid Logfiles können schnell sehr umfangreich werden. Es gibt eine Menge Tools für eine Auswertung dieser Logfiles. Ein Standardtool kann hier leider nicht angeboten werden, da das "richtige" Tool sehr von der Art der gewünschten Auswertung abhängt.
http://www.squid-cache.org/Scripts/
Problemstellung: Uploads (z.B. über ein Webinterface) schlagen ab einer bestimmten Größe fehl.
Ursache: Es ist ein "request_body_max_size" > "0" angegeben. Damit wird ein Request-Body (Inhalt einer Anfrage) begrenzt. Wenn der Upload mit PUT oder POST geschieht, begrenzt diese Option die max. Größe des Uploads.
Lösung: Setzen Sie "request_body_max_size" größer oder auf "0" (deaktiviert).
Problemstellung: Der Internetzugang über den Squid Proxy ist sehr langsam. Das lokale Netz ist -auch über den Proxy- schnell erreichbar, Das Internet ohne Proxy ebenfalls.
Usache: Dies kann mehrere Gründe haben, einer der häufigsten Gründe ist, dass Squid zuerst versucht ein Ziel direkt zu erreichen (ohne über den Übergeordneten Proxy / die Firewall zu gehen). Dies ist zumindest für alle Ziele im Internet nicht möglich und führt zu einem Timeout.
Lösung: Prüfen Sie, ob in Ihrer Konfigurationsdatei (squid.conf) Einträge der Art
allways_direct ...existieren.
oder
never_direct ...
In der Regel sollte allein der Eintrag "never_direct allow all" das Problem beheben.
Weitere Einträge sind nur notwendig, wenn es Ziele gibt, die Sie nicht über den/die Parents erreichen können oder wollen. Diese Einträge müssen dann vor der Zeile "never_direct allow all" stehen.
Problemstellung: Sie haben eine Seite aufgerufen die aktualisiert wurde, Ihr Browser zeigt Ihnen jedoch noch den alten Stand. Auch ein "Reload", "Aktualisieren" bzw. "Neu Laden" bringt keinen Erfolg.
Ursache: Der Proxyserver speichert statische Seiten zwischen und liefert bei erneuten Anfragen die Seiten aus diese Speicher (Cache).
Normalerweise bestimmt der Proxy selbst anhand seiner Regelwerke ob und wie lange er Seiten im Cache behält.
Dynamische oder durch Metadaten entsprechend gekennzeichnete Seiten werden grundsätzlich nicht im Cache gehalten. Häufig aktualisierte Seiten werden auch entsprechend häufig auf Ihre Aktualität geprüft.
Ein ähnliches Verhalten haben auch die meisten Browser, nur sind sie i.d.R. nicht so komplex in der Berechnung der Aktualität einer Seite.
Lösung: Der Browser kann durch einen "Reload" (auch "Aktualisieren" oder "Seite neu Laden" genannt) aufgefordert werden, die Seite erneut vom Proxyserver zu holen.
Sollte dies kein Erfolg bringen, weil die Seite auch im Proxy noch auf einem alten Stand ist, so können einige Browser dazu veranlasst werden, bei ihrer Seitenanforderung an den Proxy ein 'no-cache' mit zu senden.
Dies veranlasst wiederum den Proxy, die Seite nicht aus dem eigenen Cache sondern direkt vom Webserver zu holen.
Beim Internet Explorer bzw. Netscape wird das Senden von 'no-cache' durch gleichzeitiges drücken von "Strg" bzw. "Shift" + Reload-Button veranlasst.
Auch dies kann u.U. fehlschlagen.
Beim Internet Explorer Versionen < 5.5 arbeitet diese Funktion in Verbindung mit transparenten Proxys fehlerhaft.
Hierfür gibt es im Squid-Proxy ab Version 2.4 die Option 'ie_refresh' die diesen Browserfehler im Proxy ausgleicht (nur bei transparenten Proxys erforderlich).
Einige Webserver stehen auch hinter weiteren Proxyservern im Internet, auf die Sie keinen Einfluss haben. Hier hilft nur ,,warten''.
Bei Frameseiten, muss ggf. erst das einzelne Frame in ein eigenes Browserfenster geladen werden bevor ein Reload greift, da sonst nur die Frameset-Seite neu geladen wird, die Frameinhalte aber noch aus dem Cache kommen.
Problemstellung: Beim Start des Squid-Proxyservers erscheint im Log die Fehlermeldung:
"FATAL: Cannot open HTTP Port"
Ursache: Hier gibt es im wesentlichen zwei Gründe:
1. Squid hat keine Berechtigung den Port zu belegen. Ports < 1024 (priveligierte Ports) können nur vom Benutzer "root" belegt werden.
2. der angegebene Port 'http_port' ist bereits belegt.
Beispiel: Sie haben in der Datei squid.conf als http_port den Port 80 angegeben. Auf dem gleichen Server läuft auch ein Webserver (Apache). Der Webserver belegt i.d.R. Port 80.
Wenn nach dem Webserver Squid startet, ist der Port bereits belegt und Squid kann diesen Port nicht mehr belegen.
Lösung:
1. Haben Sie einen Port < 1024 angegeben (http_port) muss Squid als root-Prozess starten.
2. Welche Ports bereits belegt sind, können Sie sich mit dem Befehl "netstat" anzeigen lassen.
Beispiel:
netstat -nl
Aktive Internetverbindungen (Nur Server)Hier sind die lokalen Ports 80, 21 und 443 belegt (LISTEN).
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN
. . .
Problemstellung: Beim Start des Squid-Proxyservers oder bei der Eingabe von "squid -z" zum Anlegen der Cacheverzeichnisse, erscheint die Fehlermeldung:
"FATAL: Failed to make swap directory /var/squid/cache: (13) Permission denied"
Ursache: Squid startet i.d.R. nicht unter 'root' sondern einem in der Konfigurationsdatei "squid.conf" unter "cache_effective_user" angegebenen Benutzer.
Dieser Benutzer muss die nötigen Rechte besitzen die Cacheverzeichnissstruktur (normalerweise unter /var/squid/cache/) anzulegen.
Mögliche Fehlerursachen sind:
Geben Sie dem Verzeichnis den Benutzer und die Gruppe wie unter "cache_effective_user" und "cache_effective_group" in der Datei "squid.conf" angegeben (Bsp.: chown -R squid.nogroup/var/squid/cache).
Lassen Sie Squid die Verzeichnisstruktur neu erzeugen (squid -z).
Problembeschreibung: In der Datei "cache.log" des Squid-Proxyservers finden sich häufig Fehlermeldungen von folgendem Typ:
"urlParse: Illegal character in hostname 'www.mistdomäne.de'"
"urlParse: Illegal character in hostname 'www.mist_domain.com'"
Ursache: I.d.R. sagt die Meldung, dass eine URL mit illegalen Zeichen eingegeben wurde. Im o.g. Beispiel ist der Buchstabe "ä" und der Unterstrich "_" als illegales Zeichen erkannt worden, da diese Zeichen nicht im RFC für Domainnamen vorkommen.
Durch ungeschulte Benutzer und Tippfehler sind diese Fehlermeldungen häufiger anzutreffen und stellen keine Beeinträchtigung des Betriebs dar.
Sonderfall: Eine Fehlermeldung von folgender Art:
"urlParse: Illegal character in hostname 'proxy.localdom.de:3128proxy.localdom.de'"
weist auf eine andere Ursache hin.
Es handelt sich hier um ein Zusammenspiel aus schlecht konfigurierten Internet Explorer und einer speziellen DLL von 'cydoor'.
Jede Anwendung, die dieses DLL benutzt wird entsprechende Fehlermeldungen in "cache.log" produzieren. Der Internet Explorer (IE) wird über ein automatisches Konfigurationsscript (proxy.pac) konfiguriert, enthält aber ebenfalls einen aktive oder inaktive manuellen Eintrag für Proxyserver.
Der IE benutzt nur das automatische Konfigurationsscript. Anwendungen die auf die cydoor DLL zugreifen benutzen jedoch BEIDE Einträge und produzieren den o.g. Fehler.
Lösung: Im IE muss der manuelle Proxyserver Eintrag nicht nur deaktiviert, sondern vollständig entfernt werden. D.h. die Felder für Proxyserver Adresse und Anschluss müssen leer sein. ODER die automatisch Proxykonfiguration (proxy.pac) muss entfernt werden und der IE muss vollständig manuell konfiguriert werden.
This document was generated using the LaTeX2HTML translator Version 99.2beta8 (1.43)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split 0 -t 'Squid FAQ' -dir ./faq -mkdir -white -notransparent -antialias -antialias_text -auto_link -html_version 3.2,table -no_math -iso_language DE -address mail@squid-handbuch.de faq.tex
The translation was initiated by Dirk Dithardt on 2003-09-10