|
Schweif des iX-Artikels "Pulpo rapido"
Es gibt nur begrenzt viele Bäume auf diesem Planeten.
Daher mussten wir einige Aspekte des Beschleuniger-Betriebs
im Artikel auslassen. Ausserdem werden ständig neue
Informationen an uns heran getragen. Mit dieser Seite
wollen wir die zusätzlichen Tips sammeln und anbieten.
Plattenplatz Einfach aber wichtig. Der Squid
stürzt ab, wenn er seine Protokolldateien nicht schreiben
kann. Stellen sie sicher, dass jederzeit ausreichend
Plattenplatz zur Verfügung steht. Bedenken sie, dass in der
Voreinstellung die Datei store.log fortlaufend wächst.
Wollen sie diese Datei sowieso nicht
auswerten, dann schicken sie sie am besten nach
/dev/null.
Anwendungen Konfigurieren sie ihre
Web-Anwendungen und ihren Web-Server so, dass im
HTTP-Protokoll stets ein Verfallsdatum ("Expires") mit
gegeben wird. Siehe die iX 11/2001. Dadurch steigen ihre
Zugriffszahlen auf die Seiten, die Server-Last wird gesenkt
und die Anwender sehen stets aktuelle Inhalte. Es spricht
alles für die Verwendung von "Expires-Headern"
Wir verstehen das Verfallsdatum so: Es ist die Zeit, nach
der Inhalte von den Web-Puffern ("Proxy-Cache", "Browser")
spätestens neu geladen werden. Es ist also nicht wie beim
Jogurt, dass er sich mindestens bis zu einem Termin hält,
sondern Inhalte halten sich höchstens bis zu dem
Verfallsdatum. Kein Web-Puffer ist verpflichtet, den Inhalt
garantiert bis zum Verfallsdatum aufzuheben. Gibt man den
HTML-Seiten eine kurze Lebensdauer, dann setzen sich diese
nicht in den Web-Puffern fest, sondern werden häufiger neu
geladen. Also steigen die Zugriffszahlen auf die
HTML-Seiten. Nur das interessiert. Den Bildern und anderen
wenig veränderlichen Inhalten gibt man eine lange
Lebensdauer, der im Artikel vorgeschlagene Wert von 30 Tagen
ist praxisnah. Die Zugriffszahlen auf irgendwelche
Menü-Grafiken interessieren keinen Webmaster.
Einige Webmaster setzen das Verfallsdatum in HTML-Seiten mit
Meta-Einträgen namens http-equiv. Diese Einträge werden
aus Gründen des Durchsatzes von den "Proxy-Caches" nicht
gelesen. Sondern ein "Proxy-Cache" liest üblicherweise nur das
HTTP-Protokoll mit. Die Verwendung von http-equiv für
das Verfallsdatum oder für die Pragma-Einstellung verfehlt
daher ihr Ziel.
Jetzt der Bezug zu Squid: Mit Server-seitigem
Verfallsdatum erreichen sie nicht nur obige Vorteile, sondern
ersparen sich zudem die Konfiguration von refresh-Einträgen
im Squid.
HTTP-Authentifizierung, SSL und Browser-Cookies
Für den Standard-Squid gilt: Seiten, die durch ein Kenntwort auf Grundlage von .htaccess-Dateien geschützt sind, werden überhaupt nicht gepuffert. Der Squid hat keinen Zugriff auf die Kennwort-Datenbank. Hier bringt ein Squid also nichts. Ähnliches gilt für SSL-Verbindungen (HTTPS), wobei man sich hier mit SSL-Erweiterungen behelfen kann. Squid schluckt Cookies. Will man das nicht, dann muss man ein "Pragma: no-cache" senden.
IP-Adressen
Für den Apache scheinen alle Zugriffe von der IP-Adresse 127.0.0.1 zu kommen. Im Artikel wird beschrieben, wie man in den Protokolldateien die originale IP-Adresse(n) erhält. Sämtliche Zugriffsregelungen, die auf IP-Adressen beruhen, muss man allerdings in der squid.conf spezifizieren. Siehe unten. Anwendungen, die die IP-Adresse ausgewertet haben, müssen statt dessen die Einträge in X-Forwarded-For auswerten. Vorsicht, dabei kann es sich um mehrere Einträge handeln.
DoS-Attacken
Mit der ACL-Option maxconn kann die maximale Anzahl von gleichzeitigen HTTP-Verbindungen begrenzt werden. Beispiel:
# Definitionen
acl from_company src 192.168.0.0/16
acl TOO_MANY_CONNECTIONS maxconn 16
acl all src 0.0.0.0/0
# Zugriffsrechte
http_access allow from_company
http_access deny TOO_MANY_CONNECTIONS
http_access allow all
Nimda & Co.
Diese kleinen Plagegeister können gerade bei Tests ganz schön stören. Daher setzen wir bei Bedarf für den Squid einen leicht modifizierten Adressumschreiber ein, der die Adressen der Viren-infizierten Maschinen durch eine FIFO-Datei an einen Dämon weiterreicht. Der Dämon setzt dann mit ipchains Firewall-Einträge. Die Implementation des Dämons als Shell-Skript eignet sich nicht für grössere Sites. Vorsicht: Eine Instanz des Adressumschreiber wird bis zum "Timeout" im Squid blockiert.
Patches und Zubehör
Achtung: Benutzung auf eigene Gefahr. Die Skripte sind abgespeckte Versionen dessen, was tatsächlich im Einsatz ist.
Datei access_log im "extended" Format: Squid 2.4 oder Squid 2.5
Aufsplitten der access_log für die virtuellen Hosts
Eine englische Installationsanleitung
Ein Perl-Skript zum Mitschreiben des Datenverkehrs auf einem TCP-Port
|