Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
centos:squid:tuning [14.11.2011 21:25. ] – [Cache-Memory Warning] djangocentos:squid:tuning [20.04.2018 10:36. ] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== Tuning (besondere Einstellungen) am Squid-Proxy-Servers ======
 +{{:centos:squid-logo.png|Squid Proxy Logo}}
 +
 +In diesem Kapitel werden wir uns nun näher mit Tuning und/oder besonderen Einstellungen bei unserem [[http://www.squid-cache.org/|Squid-Proxy-Server]] unter [[http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.0|CentOS 6.x]] eingehender beschäftigen.
 +===== Definitionen der Sprache für die HTML-Meldungen =====
 +Für die Aktivierung der deutschen Fehlermeldungen und -seiten tragen wir am ende unserer Squid-Konfigurationsdatei einfach folgende beiden Zeilen nach.
 +   # Django : 2011-11-14 deutsche Rückmeldungen bei den Fehlermeldungen aktiviert
 +   error_directory /usr/share/squid/errors/de
 +   error_default_language de
 +
 +Hierzu benutzen wir am einfachsten den Editor unserer Wahl, z.B. **vim**. Anschließend laden wir die Konfiguration unseres Proxyservers neu.
 +   # service squid reload
 +
 +Will nun ein Nutzer an einem Client eine Webseite ohne entsprechende Berechtigung besuchen, so wird diesem nun eine deutschsprachige Fehlerseite präsentiert.
 +
 +{{ :centos:squid:squid_error_de.png?575 |Bildschirmhardcopy: deutsche Fehlerseite beim Squid}}
 +
 +===== Squid-Server Hostnamen setzen =====
 +Damit der Squidserver bei seinen Rückmeldungen nicht seinen Hostnamen, sondern (s)einen Serveralias preis gibt ergänzen wir am Ende unserer Konfigurationsdatei folgende Zeile.
 +   # Django : 2011-11-14 Serveralias statt des Hostnamens ausgeben:
 +   visible_hostname proxy.dmz.nausch.org
 +Anschließend laden wir wieder die Konfiguration unseres Proxyservers neu.
 +   # service squid reload
 +
 +Bei den Rückmeldungen wir nun in der Statuszeile der gewünschte Servername angezeigt.
 +
 +===== Unterdrücken der Version des Squid-Servers =====
 +Zur Unterdrückung der Version unseres Squid-Servers bei den Rückmeldeseiten ergänzen wir am Ende die Konfigurationsdatei unseres Servers.
 +   # Django : 2011-11-14 Unterdrücken der Squidversion bei der Ausgabe von Fehlerseiten
 +   httpd_suppress_version_string on
 +
 +Anschließend laden wir wieder die Konfiguration unseres Proxyservers neu.
 +   # service squid reload
 +
 +===== Squid-Manager setzen =====
 +In den Statusseiten des Proxyservers erfolgte eine Anzeige des Squidmanagers über die ein Anwender bei Bedarf eine eMail senden kann. Standardmäßig lautet die Anzeige bei der Verwendung der deutschen Fehlerseiten:
 +   Ihr Cache Administrator ist root
 +In unserem Fall wollen wir die eMailadresse squid-manager@nausch.org verwenden. Wir tragen daher in der squid.conf am Ende folgende Zeile ein:
 +   # Django : 2011-11-14 Setzen des Cache-Admins und Angabe der eMailadresse
 +   cache_mgr squid-manager@nausch.org
 +Zur Aktivierung der Konfigurationsänderung laden wir die Konfigurationsdatei unseres Squid-Servers neu.
 +   # service squid reload
 +
 +{{ :centos:squid:squid_error_up2date.png?575 |Bildschirmphoto der angepassten Squid-Fehlermeldung}}
 +
 +===== eMail-Absenderadresse setzen =====
 +Sollte der Squidserverprozess abstürzen, so wird eine Statusmail verschickt. Die Absenderadresse kann mit folgendem Eintrag, den wir wieder am Ende unserer Squid-Konfigurationsdatei einfügen, geändert werden.
 +   # Django : 2011-11-14 Setzen der eMail-Absendeadresse im Fehlerfall
 +   mail_from squid-proxy@nausch.org
 +
 +Zur Aktivierung dieser Änderung laden wir die Konfigurationsdatei unseres Squid-Servers neu.
 +   # service squid reload
 +
 +===== Caching unterdrücken bei dynamischen Inhalten (cgi-scripte) =====
 +Zum Unterdrücken von dynamischen Inhalten z.B. bei CGI-Scripten tragen wir am Anfang der ACL-Regeln folgende Zeile ein.
 +   # Django : 2011-11-14 NICHT cachen von dynamischen Inhalten (cgi-scripte)
 +   acl QUERY urlpath_regex cgi_bin \?
 +
 +Nach den Cache-Regeln fügen wir noch folgende Zeile ein, damit unsere zuvor definierte ACL auch aktiviert und genutzt werden kann.
 +   # Django : 2011-11-14 Aktivieren der ACL-Regel zum Unterdrücken des Cachen von dynamischen Inhalten
 +   cache deny QUERY
 +
 +Zum Schluß aktivieren wir auch hier mit einem **reload** unser Konfigurationsänderung.
 +   # service squid reload
 +
 +===== Cache-Memory Warning =====
 +Der Vorgabewert für den //**cache_memory**// lautet nach folgender [[http://www.squid-cache.org/Versions/v3/3.1/cfgman/cache_mem.html|Dokumentationsseite]] ** 256 MB**.
 +Unter CentOS 6.x wird jedoch beim Betrieb folgende Fehlermeldung ausgegeben:
 +   WARNING cache_mem is larger than total disk cache space!
 +
 +Zum Vermeiden dieses Warnhinweises setzen wir den Speichercache auf max. 100 MB. Hierzu tragen wir in unserer Konfigurationsdatei folgende Zeile nach.
 +   # Django : 2011-11-14 Cache-Memory heruntergesetzt, wegen der Fehlermeldung
 +   #                     WARNING cache_mem is larger than total disk cache space!
 +   # default cache_mem 256 MB
 +   cache_mem 100 MB
 +
 +Zum Aktivieren der neuen max. Speichergrenze laden wir die Konfiguration einmal neu.
 +   # service squid reload
 +
 +===== Ausnahmeregelungen bei der Authentifizierung =====
 +Zuweilen kann es wünschenswert sein, einzelne Seiten (URLs oder ganze Domänen) von der Notwendigkeit der Benutzerauthentifizierung auszunehmen. 
 +
 +Hierzu legen wir uns ein paar passende RegEx-Regeln an, die wir am Ende unserer ACL in der Squid-Konfigurationsdatei anfügen.
 +
 +<code># Django : 2011-11-14 Ausnahmeregelung für den Zugriff ohne caching aktiviert
 +acl noauthsites url_regex repository\.nausch\.org/*
 +acl noauthsites url_regex static-cdn\.addons\.mozilla\.net:443
 +acl noauthsites url_regex ocsp\.digicert\.com/*
 +acl noauthsites url_regex ocsp\.verisign\.com/*
 +acl noauthsites url_regex evsecure-ocsp\.verisign\.com/*
 +acl noauthsites url_regex releases\.mozilla\.org/*
 +acl noauthsites url_regex addons\.mozilla\.org:443
 +acl noauthsites url_regex services\.addons\.mozilla\.org:443
 +</code>
 +
 +Damit diese ACL auch greifen kann, erweitern wir noch unsere **http_access**-Regeln wie folgt: 
 +   http_access allow localhost noauthsites
 +   http_access allow localhost ldap_auth
 +   http_access allow localnet noauthsites
 +   http_access allow localnet ldap_auth
 +
 +Abschließen laden wir die Konfiguration einmal neu.
 +   # service squid restart
 +===== Squid-Proxy in Verbindung mit Content-Filter DansGuardian =====
 +Wird der Squid-ProxyServer in verbindung mit dem Web-Contentscanner [[http://dansguardian.org|Dansguardian]] verwendet, taucht bei Verwendung der Standardkonfiguration in der Squid-Access-Datei als log absendende IP-Adresse nur noch die IP-Adresse des DansGuardian auf. Dies kann mit einem speziellem Eintrag in der Konfiguratiosdatei //**/etc/squid/squid.conf**// und der Funktion **follow_x_forwarded_for** angepasst werden.
 +   # Django : 2011-11-14 Anpassen der Request-IP-Adresseder Clients bei Verwendung von Dansguardian
 +   follow_x_forwarded_for allow localhost
 +   follow_x_forwarded_for allow localnetwork
 +
 +
 +====== Links ======
 +  * **[[centos:squid_dansg_6|Zurück zum Kapitel >>Proxyserver Squid mit Web-Contentfilter Dansguardian und Virenfilter ClamAV unter CentOS 6.x<<]]**
 +  * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**
 +  * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
 +