Logo faq-o-matic.net
Logo faq-o-matic.net

Automatische Proxykonfiguration über WPAD

von veröffentlicht am19. Dezember 2005, 16:51 Uhr Kurzlink und Zitatlink einblenden
Kategorie Kategorie: Administration, Client-Administration, Windows   Translate with Google Translate Translate EN   Die angezeigte Seite drucken
Zuletzt aktualisiert: 26. September 2013

Um nicht bei jedem Wechsel in ein anderes Netzwerk die Proxy-Einstellungen ändern zu müssen, gibt es das WPAD (Web Proxy Autodiscovery)-Protokoll. Damit lassen sich auch Ausfälle des Webproxy überbrücken, da ein Fallback definiert werden kann.

Dazu wird im LAN ein Webserver benötigt, der eine Textdatei unter einem bestimmten Pfad zur Verfügung stellen muss. Als erstes braucht man eine Datei, die die Proxykonfiguration für den Client enthält. Der Name der Datei sollte clients.wpad lauten, jedoch ist dies nicht zwingend, denn der Name ist in der DHCP-Konfiguration festlegbar. Die Endung der Datei sollte aber bei .wpad belassen werden, da sie die Zuweisung einen MIME-Typs durch den Webserver erleichtert.

  1. function FindProxyForURL(url, host)
  2. {
  3. if (isPlainHostName(host))
  4. return „DIRECT“;
  5. if (!isResolvable(host))
  6. return „DIRECT“;
  7. if (url.substring(0, 5) == „http:“||url.substring(0, 4) == „ftp:“||url.substring(0, 7) == „gopher:“)
  8. return „PROXY 192.168.1.1:8080; DIRECT“;
  9. if (url.substring(0, 5) == „wais:“)
  10. return „DIRECT“;
  11. else
  12. return „DIRECT“;
  13. }

Der Code, der in dieser Datei verwendet wird, ist JavaScript und wird bei jedem Aufruf einer URL vom Browser ausgeführt. Die Datei muss auf dem Webserver so abgelegt werden, dass sie aus dem Netzwerk, in dem die Clients die Konfiguration erhalten sollen, lesbar ist. Dies kann durch das Aufrufen der Datei mittels eines Browsers getestet werden.

Um nun noch den richtigen MIME-Type für die Datei einzustellen, sollte in der Konfiguration des Webservers der MIME-Typ x-ns-proxy-autoconfig der Dateiendung .wpad zugewiesen werden. Beim Schreiben von clients.wpad-Files sollte man aus Perfomancegründen auf die Funktionen isInNet(), isResolvable() und dnsResolve() möglichst verzichten, da dafür jeweils ein DNS-Lookup durchgeführt wird. Insbesondere in Umgebungen, die intern keine extern DNS-Namensauflösung erlauben und die über einen Proxy surfen, wird sonst der Seitenaufbau unerträglich langsam. Weiterhin kann man die clients.wpad auch auf dem Webserver durch ein Skript erzeugen lassen und in dem Skript dann die Anwendungslogik hinterlegen, so dass die eigentliche Antwort nur noch der richtige Proxyname ist.

Damit die Clients die URL zu der clients.wpad finden, kommt nun DHCP zum Einsatz. Dazu müssen folgende Parameter eingetragen werden:

Wer einen ISA-Server einsetzt, hat es noch einfacher, da dort der ISA die WPAD-Datei automatisch erstellen kann und die Anfragen danach richtig beantwortet:

Der ISA-Server erstellt automatisch etwas komplexere Skripte. Mögliche Vorgaben fü ein Skript sind etwa:

  1. Primärer Proxy ist s-proxy auf Port 8080
  2. Wenn der nicht antwortet, nimm den Backupserver s-proxy01 auf Port 8080.
  3. Umgehe für die privaten IP-Adresskreise 172.16.x.x und 192.168.x.x den Proxy.
  4. Umgehe für lokale Domains (*.domain.local, webmail.firma.tld) den Proxy.
  5. Umgehe den Proxy für URLs, bei denen der Servername keinen Punkt enthält (Intranet).

Weitere technische Erläuterungen zu der Konfiguration und wie man WPAD-Files auf Webservern ablegt (Stichwort MIME-Typ) sind hier zu finden:

Clientseitig gibt es zwei Registry-Einträge zu beachten, die im Userkontext durchgeführt werden sollten, damit der Internet Explorer bei der automatischen Proxysuche zwischen mehreren alternativen Proxies ein sauberes Failover durchführt. Die Registry-Einstellungen lassen sich auch über ein ADM-Template als Gruppenrichtlinie verteilen:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings]
„EnableAutoproxyResultCache“=dword:00000000
„BadProxyExpiresTime“=dword:00000060

Mit diesen Einstellungen wird ein Cachen des Proxynamens verhindert, so dass im Fehlerfalle auf den zweiten umgeschaltet werden kann. Weiterhin erfolgt das Zurückschalten auf einen wieder funktionierenden Proxy innerhalb von 60 Sekunden und nicht erst nach 30 Minuten (Defaultwert). Mehr dazu hier:

© 2005-2019 bei faq-o-matic.net. Alle Rechte an den Texten liegen bei deren Autorinnen und Autoren.

Jede Wiederveröffentlichung der Texte oder von Auszügen daraus - egal ob kommerziell oder nicht - bedarf der ausdrücklichen Genehmigung durch die jeweiligen Urheberinnen oder Urheber.

Das Impressum findet sich unter: http://www.faq-o-matic.net/impressum/

Danke, dass du faq-o-matic.net nutzt. Du hast ein einfaches Blog sehr glücklich gemacht!