Proxy.pac

Proxy.pac

Anhand einer Proxy-Auto-Config-Datei (PAC-Datei) kann ein Webbrowser automatisch den passenden Proxyserver für eine gewünschte URL finden.

Eine PAC-Datei enthält eine JavaScript-Funktion FindProxyForURL(url, host). Diese Funktion gibt einen String mit einer oder mehreren Proxyspezifikationen zurück, mit mehreren Spezifikationen wird ein Fallback bzw. Failover möglich, für den Fall, dass ein Server nicht antwortet. Der Browser holt sich diese PAC-Datei, bevor er weitere Seiten anfordert. Die URL der PAC-Datei kann entweder von Hand angegeben werden oder über das Web Proxy Autodiscovery Protocol automatisch gefunden werden.

Inhaltsverzeichnis

Zusammenhang

Moderne Browser bieten mehrere Stufen der Automatisierung – so kann die Stufe gewählt werden, die den jeweiligen Bedürfnissen entspricht. Es handelt sich üblicherweise um folgende Möglichkeiten:

  • Manuelle Proxy-Wahl: Es wird ein Hostname sowie eine Port-Nummer angegeben, die für alle URLs verwendet werden. Meist können noch Domains wie z. B. der eigene Rechner (localhost) aufgelistet werden, für die der Proxy umgangen wird.
  • Proxy auto-configuration (PAC): Durch die Angabe der URL einer PAC-Datei wird die Verwendung eines passenden Proxys für jede URL möglich. Sie enthält eine JavaScript-Funktion, die zu jeder Adresse den passenden Proxy aussucht. Diese Möglichkeit behandelt dieser Artikel.
  • Web Proxy Autodiscovery Protocol (WPAD Protocol): Der Browser sucht sich die PAC-Datei selbst. Das Protokoll wird in einem gesonderten Artikel besprochen.

Die erste Möglichkeit ist die einfachste und sicherste.

Die zweite (PAC) ist flexibler (erlaubt die Verwendung vieler verschiedener Proxys). Die URL der PAC-Datei muss jedoch einmal initial von Hand angegeben werden.

Die dritte Möglichkeit (WPAD) baut auf PAC auf und macht diese Handarbeit unnötig: Jeder Browser einer Organisation kann damit angewiesen werden, dieselbe PAC-Konfiguration zu verwenden.

Die PAC-Datei

Um PAC zu nutzen, wird eine PAC-Datei auf einem Webserver veröffentlicht und der Browser angewiesen, sie durch die Angabe der Adresse in den Verbindungs-Einstellungen oder durch Nutzung des WPAD-Protokolls zu lesen.

Eine PAC-Datei ist eine Textdatei, die eine JavaScript-Funktion definiert: FindProxyForURL(url, host). Standardmäßig heißt sie proxy.pac, wird der WPAD-Standard genutzt, so heißt sie oft auch wpad.dat. Der Server muss angewiesen werden als MIME-Type der Datei application/x-ns-proxy-autoconfig anzugeben.

Ein sehr einfaches Beispiel einer PAC-Datei ist:

function FindProxyForURL(url, host) { return "PROXY proxy.example.com:8080; DIRECT"; }

Diese Funktion weist den Browser an, alle Seitenanfragen an den Proxy auf Port 8080 des Servers proxy.example.com zu leiten. Sollte dies fehlschlagen, so wird eine direkte Verbindung ins WWW aufgebaut.

Das Folgende ist ein komplexeres Beispiel, das die Verwendung einiger JavaScript-Funktionen demonstriert, die für die FindProxyForURL-Funktion zur Verfügung stehen:

function FindProxyForURL(url, host) {
   // Adressen, die auf example.com liegen, brauchen keinen Proxy:
   if (shExpMatch(url,"*.example.com/*"))                  {return "DIRECT";}
   if (shExpMatch(url, "*.example.com:*/*"))               {return "DIRECT";}
 
   // URLs innerhalb dieses Netzwerkes werden abgefragt über
   // Port 8080 auf fastproxy.example.com: (macht Nameserver Anfrage)
   if (isInNet(host, "10.0.0.0", "255.255.248.0")) {
      return "PROXY fastproxy.example.com:8080";
   }
 
   // Alle anderen Anfragen gehen über Port 8000 von proxy.example.com.
   // sollte das fehlschlagen, verbinde direkt ins Netz:
   return "PROXY proxy.example.com:8000; DIRECT";
}

Für eine vollständige Liste verwendbarer vordefinierter Funktionen siehe Weblinks.

Einschränkungen

Die Funktion isInNet (und weitere ähnliche Funktionen) führen eine DNS-Anfrage durch, die den Browser blockieren kann, falls der DNS-Server nicht antwortet.

Die Proxy-Zwischenspeicherung in Microsofts Internet Explorer schränkt die Flexibilität des PAC-Standards ein. Folglich kann ein Proxy anhand des Domainnamens jedoch nicht des Pfades der URL gewählt werden. Andernfalls muss die Proxy-Zwischenspeicherung abgeschaltet werden.

Prinzipiell kann ein PAC-File auch dynamisch (z. B. per PHP, Visual Basic oder Java Server Pages) generiert werden und so z. B. anhand der IP-Adresse des Clients unterschiedliche Proxys zurückliefern. Das kann sinnvoll sein, um die Mitarbeiter einer IT-Abteilung über weniger restriktive Proxy-Einstellungen zu führen oder um in einem geographisch sehr verteilten Unternehmen regionale Proxys nutzen zu können.

Anmerkungen

Einstellung im Internet Explorer oder FireFox 2.x/3.x in folgender Form:

file://<Pfad und Dateiname>

oder

http(s)://Server:Port/<Pfad und Dateiname>

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Proxy auto-config — The proxy auto config file defines how web browsers and other user agents can automatically choose the appropriate proxy server (access method) for fetching a given URL.A PAC file contains a JavaScript function FindProxyForURL(url, host) . This… …   Wikipedia

  • Proxy Auto-Config — Anhand einer Proxy Auto Config Datei (PAC Datei) kann ein Webbrowser automatisch den passenden Proxyserver für eine gewünschte URL finden. Eine PAC Datei enthält eine JavaScript Funktion FindProxyForURL(url, host). Diese Funktion gibt einen… …   Deutsch Wikipedia

  • pac — ● ►en ext. ►EXT Proxy Autoconfiguration File. Fichier permettant la configuration automatique des paramètres concernant le proxy, et utilisé par les navigateurs, en particulier les descendants de Netscape. Il s agit souvent du fichier proxy.pac …   Dictionnaire d'informatique francophone

  • PAC — or Pac may refer to: Contents 1 People 2 Organizations and types of organizations 2.1 Political …   Wikipedia

  • PAC — steht für: Prozessanalytik (engl.: Process Analytical Chemistry) in der chemischen Industrie Polyaluminiumchlorid effektives kombiniertes Flockungsmittel und Fällungsmittel Polyacetylen, Kurzzeichen für ein Polymer Political Action Committee, in… …   Deutsch Wikipedia

  • Proxy voting — Part of the Politics series Electoral methods Single winner …   Wikipedia

  • Proxy (Rechnernetz) — Ein Proxy (von englisch proxy representative ‚Stellvertreter‘, von lateinisch proximus ‚der Nächste‘) ist eine Kommunikationsschnittstelle in einem Netzwerk. Er arbeitet als Vermittler, der auf der einen Seite Anfragen entgegennimmt, um …   Deutsch Wikipedia

  • Pac (homonymie) —   Sigles d’une seule lettre   Sigles de deux lettres > Sigles de trois lettres   Sigles de quatre lettres   Sigles de cinq lettres   Sigles de six lettres   Sigles de sept… …   Wikipédia en Français

  • PAC — Pacific (Governmental » Military) **** Political Action Committee (Governmental » Military) **** Political Action Committee (Community » Educational) *** Political Action Committee (Governmental » US Government) * Pacific Region (Governmental »… …   Abbreviations dictionary

  • PAC — chem. abbr. Polycyclic Aromatic Hydrocarbons comp. abbr. Package Assembly Circuit abbr. PCI AGP Controller (Intel, IC, PCI, AGP) abbr. Privilege Attribute Certificate (DCE) abbr. Proxy Auto Config (WWW, Mozilla) …   United dictionary of abbreviations and acronyms

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”