LugLD:Howtos:Netzwerk:AutomatischeProxyConf
Aus LUG-LD Wiki
Es gibt zwei M�glichkeiten die Proxykonfiguration im Browser zu erleichtern:
- Halbautomatische Konfiguration
- 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.
