LugLD:Howtos:Netzwerk:AutomatischeProxyConf

Aus LUG-LD Wiki

Wechseln zu: Navigation, Suche

Es gibt zwei M�glichkeiten die Proxykonfiguration im Browser zu erleichtern:

  1. Halbautomatische Konfiguration
  2. Vollautomatisches erkennen der Konfiguration

Halbautomatische Konfiguration

Bei der Halbautomatischen Konfiguration wird in der Browserkonfiguration im Feld Automatische-Proxy-Konfigurations-URL o.�. die URL zu einem Textfile mit einer einzigen JavaScript Funktion (FindProxyForURL) als Inhalt angegeben. Die Funktion ist unten beschrieben da sie f�r beide Konfigurationsm�glichkeiten zutreffend ist.

Vollautomatisches erkennen der Konfiguration

Bei der Vollautomatischen Konfiguration werden die Voraussetzungen geschaffen, damit der Browser nicht nur durch die o.g. Funktion die Information erh�lt, welchen Proxy er verwenden soll, sondern auch die URL f�r dieses File automatisch erkannt wird. F�r diese Konfiguration wird au�er dem vermeintlichen Proxyserver auch noch ein Nameserver (oder hosts-File) und ein Webserver ben�tigt. Es muss �ber die hosts oder den Nameserver ein alias auf den Webserver angelegt werden, der Name "wpad" muss als host-Kurzname erreichbar sein. Ist der Browser so konfiguriert, dass er die Proxykonfiguration automatisch erkennt, versucht er beim Starten per HTTP das File "wpad.dat" vom host "wpad" also http://wpad/wpad.dat herunterzuladen. Es muss also im Rootverzeichnis eines Webservers, der �ber den Namen wpad erreichbar ist ein File namens wpad.dat erreichbar sein. In dieser Datei erh�lt der Browser die u.g. Funktion FindProxyForURL.

Die Funktion FindProxyForURL

Die Funktion hat zwei Parameter: url und host. Der Browser ruft diese Funktion f�r jede URL auf. Durch diese Funktion ist es sogar einfach m�glich ein Load-Sharing auf mehrere Proxies inklusive Failover beim Ausfall eines Proxy zu realisieren (http://naragw.sharp.co.jp/sps/).

Kurzes Beispiel:

function FindProxyForURL(url, host)
{
    if (isPlainHostName(host) || dnsDomainIs(host, ".localnet.local"))
            return "DIRECT";
        else
            return "PROXY proxy1.localnet.local:3128; DIRECT";
}

Erkl�rung dazu:

Wenn die aufgerufene URL "PlainHostName" ist (z.B. http://server1) oder die URL auf .localnet.local endet, dann versucht der Browser ohne einen Proxy diesen Host zu erreichen (DIRECT). Ansonsten wird f�r alle Protokolle und URLs als Proxy der Server proxy1.localnet.local mit dem Port 3128 (Squid) verwendet und falls dieser nicht erreichbar ist wird's direkt versucht.

Es k�nnen die beiden Variablen url oder host verarbeitet werden. Beim Aufrufen von http://www.heise.de/newsticker/blabla.html beinhaltet die Variable host nur den aufgerufenen Host: www.heise.de, Die Variale url enth�lt den kompletten URL inklusive Protokoll: http://www.heise.de/newsticker/blabla.html.

F�r den Suchbegriff proxy.pac oder wpad.dat erh�lt man unz�hlige Beispiele bei Google.

Persönliche Werkzeuge