IT-Academy Logo
Sign Up Login Help
Home - Betriebssysteme - Linux - Loggender-Perl-Proxy



Loggender-Perl-Proxy

Einrichten eines Perl-Proxys unter Linux.


Autor: ()
Datum: 18-07-2004, 21:34:55
Referenzen: http://www.linux-magazin.de
Schwierigkeit: Anfänger
Ansichten: 5278x
Rating: 8 (1x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Definition

Der Begriff Proxy stammt aus dem Englischen und bedeutet soviel wie Stellvertreter. I.d.R. ist ein Proxy als Software implementiert. Als Proxy-Server bezeichnet man demnach einen Rechner, der als Proxy dient. Er nimmt Anfragen von Clients (Browsern) entgegen und leitet diese an das beabsichtigte Ziel weiter. Das Ergebnis der Anfrage wird vom Ziel (WWW-Server) an den Proxy übermittelt, welcher seinerseits dieses dem Client zurück liefern kann.

Zusätzlich besitzt ein Proxy-Server einen großen Speicher (Proxy-Cache), um angefragte Daten zwischen zu speichern. Dies bedeutet: nach jeder Anfrage speichert der Proxy angefragte Daten lokal zwischen, um bei einer eventuell nachfolgenden erneuten Anfrage eines anderen oder desselben Clients direkt, d.h. ohne eine zusätzliche Anfrage an den eigentlichen Ziel-Server die Daten bereitzustellen. Die Bedeutung und effektive Nutzung dieses Speichers hat großen Einfluss auf die Leistungsfähigkeit eines Proxy-Servers und wird deshalb noch ausführlich gesondert behandelt werden.

Voraussetzungen

Vorausgesetzt wird ein Linux-System mit installiertem Perl-Interpreter und verfügbaren Bundle::LWP und URI-Modul.

Vorgehensweise

Im Prinzip ist nichts weiter nötig als auf dem Proxy-Server das folgende Script zu starten mittels

perl proxy.pl
und die jeweiligen Clients anzuweisen diesen Rechener als Proxy zu nutzen:


#!/usr/bin/perl -w
 
 my $PORT = 8017;
 
 use HTTP::Daemon;
 use LWP::UserAgent;
 
 my $proxy = HTTP::Daemon->new( LocalPort => $PORT );
 die "@_" unless defined $proxy;
 print "Listening on port $PORT\n";
 
 my $ua = LWP::UserAgent->new;
 $ua->agent("miniproxy/1.0");
 
 while (my $conn = $proxy->accept) {
     while (my $request = $conn->get_request) {
         my $response = $ua->simple_request($request);
         $conn->send_response($response);
     }
     $conn->close;
 }
Dabei bietet dieses Skript das Feature Aktionen des in Zeile 3 angegebenen Ports zu loggen.


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04508
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06246
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1154
Comments: 0