Was bringt der Proxy-Server?
 
Heinrich-Heine-Universität Düsseldorf Universitätsrechenzentrum

Ursprünglich geschrieben für UniMix 18/1 (Wintersemester 1996/97); Inhalt:

. Der Betrieb des Proxy- (oder genauer: Proxy-Caching-) Servers für World Wide Web-Browser gehört - gemessen an den Server-Ressourcen bzgl. Rechenzeit, Plattenbedarf und Netzbandbreite - zu den wichtigsten Internet-Dienstleistungen im Angebot des Universitätsrechenzentrums. Es lohnt deshalb, sich an dieser Stelle einmal genauer mit diesem Thema auseinanderzusetzen.
Versuch der Definition: Was ist ein Proxy-Server?
Wenn Sie mit einem WWW-Browser wie Netscape eine Seite laden, die auf einem Server in Amerika liegt, bedeutet dies normalerweise, daß das Netscape-Programm eine TCP-Verbindung über das Internet zu dem Server in Amerika aufbaut und von dort die Daten empfängt. Wird dieser Browser für die Verwendung eines Proxy-Servers konfiguriert, baut das Netscape-Programm eine Verbindung zum Proxy-Server auf, sagt diesem die Adresse (URL) der gewünschten Seite in Amerika und der Proxy-Server holt die Daten über das Internet vom Original-Server und reicht sie an den Browser - den Client - durch. Ein Proxy-Server erledigt also Übertragungen aus dem Internet (exakter gesagt: über spezielle Internet-Anwendungsprotokolle wie im wesentlichen HTTP und ggf. Gopher und FTP, denen die Dokumentadresse beginnend mit http:, gopher: bzw. ftp: entsprechen) auf Anforderung von Clients, die in der Regel im gleichen lokalen Netz liegen.

Ist ein Proxy-Server mit einem Cache konfiguriert - das ist dann der Proxy-Caching-Server -. speichert er die empfangenen Dokumente zusätzlich in einem lokalen Plattenbereich und kann die nächste Anforderung eines lokal schon gespeicherten Dokumentes befriedigen, ohne die Daten nochmals über das konzeptionell und oft auch real langsamere Internet empfangen zu müssen.

Um nicht veraltete lokale Kopien aus dem Cache an Clients zu geben, wird er u.U. vorher bei dem Original-Server anfragen, ob sich das Dokument gegenüber dem letzten nachgehaltenen Modifizierungsdatum geändert hat; Verfahren für eine solche Nachfrage kennt allerdings nur das Hypertext Transport Protocol (HTTP). Diese sichert Aktualität bei gleichzeitiger Reduzierung der Übertragungszeiten.

Gründe für die Verwendung eines Proxy-Servers

Aus dem letzten Abschnitt gehen die beiden möglichen Gründe für die Verwendung eines Proxy-Servers schon hervor:

  1. Die Clients haben selbst keine Verbindung zum Internet, wohl aber der Proxy-Server. Dies ist der Fall bei vielen z.B. Firmennetzen, die aus Sicherheitsgründen nach außen etwa über einen Firewall-Rechner abgeschottet sind (bei Firmen meist zum Schutz vor der Konkurrenz, die Betriebsgeheimnisse ausspionieren könnte, bei unserer Verwaltung zum Schutz unserer Daten), aber auch bei den öffentlichen PC's im Universitätsrechenzentrum. Typischerweise ist dann die Proxy-Server-Software auf der Firewall installiert; dies muß aber nicht so sein - siehe URZ.
  2. Der Performance-Gewinn durch den Cache - sowohl bezogen auf reduzierte Internet-Übertragungen, als auch auf u.U. schnelleren Zugriff insbesondere auf häufig verlangte auswärtige Dokumente.
Geschichte des Proxy-Servers im URZ - die Server-Software

Schon bei der ersten Installation eines WWW-Servers im Universitätsrechenzentrum im August 1994 auf dem Rechner hermes gehörte ein Proxy-Caching-Server mit dazu. Der reservierte Plattenplatz für den Cache stieg von 200 MB am Anfang über 1 GB beim Umzug auf den jetzigen Server auf Sun-Sparc-Basis (selene) auf jetzt 1,8 GB. Die verwendete Software war bis vor kurzem das gleiche Programm, das auch als zentraler WWW-Server für die Universität arbeitet, der CERN-httpd Version 3.0.

Im März 1996 wurde als Alternative zu dem von der Performance her als relativ schwach geltenden CERN-Proxy-Server der Netscape-Proxy-Server installiert -ursprünglich im Rahmen eines Test Drive-Programms der Firma Netscape, später dann als lizensiertes Programm. Nach längerem Parallelbetrieb zweier Proxy-Server auf einer Maschine wurde der Betrieb des alten im Oktober eingestellt und gleichzeitig dem neuen der größere Plattenplatz spendiert.

Für technisch Interessierte: Vor allem zwei geänderte Konzepte beim Netscape-Proxy-Server gegenüber der CERN-Urmutter der HTTP-Proxies sorgen für schnellere Reaktionszeiten.

Das "klassische" Verfahren bei Internet-Server-Programmen unter Unix ist, daß für jeden hereinkommenden Verbindungsaufbauwunsch eine Prozeßkopie erzeugt wird, um diese Verbindung (und den Client dahinter) zu bedienen.

Der dafür verwendete Unix-Systemaufruf "fork" erzeugt jedesmal einen System-Overhead, den neuere Software-Entwicklungen zu verringern versuchen.

Beim Netscape-Proxy-Server wird dies dadurch erreicht, daß eine vorkonfigurierte Anzahl von Prozessen von vorneherein kreiert wird, an die hereinkommende Verbindungen verteilt werden - es werden niemals zusätzliche Prozesse gestartet.

Dies kann u.U. die Konsequenz haben, daß alle Prozesse (zur Zeit 75 bei uns) besetzt sind und Clients warten müssen; Sie erkennen diese Situation im Netscape-Browser daran, daß in der Status-Zeile die Meldung

Contacted www.uni-duesseldorf.de:8080; waiting for reply

stehen bleibt; erscheint in dieser Meldung der Name des Original-Servers, so besteht die Verbindung zum Proxy-Server bereits. Wenn Sie öfter die "Besetzt-Meldung" beobachten, können Sie mir (cappel@rz.uni-duesseldorf.de) dies mit der Uhrzeit melden; dann muß die Zahl der Prozesse nochmals erhöht werden. Wir werden dies spätestens machen, wenn die leistungsfähigere Nachfolge-Hardware in Betrieb genommen wurde.

Der CERN-Proxy-Server hat im Cache-Dateisystem die Struktur der URLs gecachter Dokumente im Unix-Pfad nachvollzogen; das kann bedeuten, daß zum Abspeichern eines Dokumentes im Cache mehrere Verzeichnisse angelegt werden müssen. Der Netscape-Proxy-Server verwendet eine feste, einmal eingerichtete Verzeichnisstruktur; die Zuordnung URL zu einem Verzeichnis plus Dateinamen erfolgt über einen Hash-Code und eine Datenbank.

Konfigurierung von WWW-Browsern für die Nutzung des Proxy-Servers

Um den Proxy-Server in der richtigen Weise zu verwenden, müssen Sie Ihrem Browser erstens sagen, daß er für die Protokolle HTTP und evtl. Gopher und FTP den Proxy-Server www.uni-duesseldorf.de unter der Portnummer 8080 benutzen soll und zweitens für alles unterhalb der Domain uni-duesseldorf.de keinen Proxy-Server. Der zweite Punkt erspart Last auf dem Proxy-Server; es könnte auch eher länger als kürzer dauern, ein lokales Dokument über den Proxy-Server zu holen, da diese nicht gecachet werden, also in jedem Fall zwei Verbindungen (Client -> Proxy, Proxy -> Original-Server) erforderlich sind.

Wie dieses "Sagen" bei diversen gängigen Browsern geschieht, habe ich unter http://www.uni-duesseldorf.de/WWW/Proxy/ mit vielen Bildern niedergelegt.

Für den Netscape-Navigator ab Version 2.0 gibt es eine neue Alternative unter Options/Network Preferences.../Proxies, die "Automatic Proxy Configuration". Eine Datei für diesen Zweck finden Sie unter der "Configuration Location" http://www.uni-duesseldorf.de/WWW/proxy.pac

Deren Verwendung hat den zusätzlichen Vorteil, daß bei nicht Erreichbarkeit des Proxy-Servers der direkte Zugriff als Alternative programmiert ist (außer für das öffentlciche Netz im URZ, wo diese Alternative nicht existiert) - ohne eigener Änderung der Konfiguration.

Proxy-Server und Datenschutz
Wie die meisten Internet-Server führt auch der Proxy-Server ein Zugriffs-und Fehler-Log. Beim Netscape-Proxy-Server enthalten die aufgezeichneten Rohdaten IP-Adresse des Client, Datum und Uhrzeit, URL des gewünschten Dokumentes, Status-Code und diverse Größenangaben. Ein solches Log dient zum einen der Fehlerverfolgung auf Nachfrage, zum anderen einer summarischen Auswertung des Durchsatzes und des Gewinns durch den Cache. Da häufig der IP-Adresse eines PC eine Person zugeordnet werden kann, handelt es sich bei den Log-Daten um Personen-beziehbare Informationen, u.U. mit einiger Brisanz.

Zu deren Verwendung können wir Ihnen folgendes mitteilen:

  • Nur wenige System-berechtigte im URZ hätten überhaupt Zugang zu den Log-Dateien.
  • Jede Nacht um 0 Uhr werden die Tagesdaten summarisch ausgewertet und anschließend gelöscht; dieses Verfahren gebot sich schon wegen des Umfangs der Information.
  • Bei einer Auswertung der Daten z.B. nach den Daten zu der IP-Adresse eines einer Person zuzuordnenden PC's - und erst recht der Weitergabe solcher Daten z.B. an einen Vorgesetzten - würden wir uns strafbar machen. Bei vertretenen Beschäftigten ist eine solche Verwendung von Log-Daten auch nach der Rahmendienstvereinbarung ADV unzulässig.

Andererseits dient gegenüber den externen Informationsanbietern die Zwischenschaltung eines Proxy-Servers gerade der Anonymisierung. Denn in deren Log-Files ist dann nur die IP-Adresse oder der Hostname des Proxy-Servers sichtbar. Ein weiteres, jetzt aktiviertes Feature des Netscape-Proxy-Servers unterstützt diese Anonymisierung weiter: Manche WWW-Browser (nicht der Netscape-Navigator) geben in der HTTP-Request-Headerzeile "From:" die - für einen anderen Zweck - im Browser konfigurierte E-Mail-Adresse mit. Es gibt Informationsanbieter, die solche Informationen von Leuten, die nur mal auf einer ihrer Seiten hereingeschaut haben, gezielt zur Versendung von Werbung über E-Mail ausnutzen. Diese Information - ebenso die User-Agent-Headerzeile, in der die verwendete Browser-Software steht - wird vom Netscape-Proxy-Server herausgefiltert aus den Informationen, die an einen entfernten Server übertragen werden.


Bernd Cappel, zuletzt geändert am 11.03.1997, 14:18 Uhr