Tutorial: Erstellung einer Autoproxy-Konfigurationsdatei

A. Wie erstelle ich ein Proxy-Skript?

Das Proxy-Skript (auch Autoproxyconfig-Datei genannt) ist eine Textdatei.

Der Inhalt ist Javascript mit bestimmten Befehlen.

Zur Syntax siehe Originaldokumentation von Netscape (bei Webarchive):
proxy-live.html und autoconf.htm

B. Welchen Mime-Typ muß die Datei haben?

Beim Ausliefern durch einen Server muss die Datei den MIME/Type: application/x-ns-proxy-autoconfig haben.

Die Dateiendung der Datei sollte .pac lauten.

C. Was muß ich im Browser einstellen?

Im Browser sollte nur die URL zur Autoproxy-Datei eingetragen werden. Alle anderen Einträge sollen nicht aktiviert sein!

Außerdem muß im Browser, falls nicht schon vorhanden, folgender MIME/Type vorhanden sein: application/x-ns-proxy-autoconfig und für die Dateiendung .pac.

D. Wo muß diese Datei liegen?

Die Autoproxy-Datei kann über eine URL ausgelesen werden oder auch lokal auf dem Rechner liegen.
Bei lokaler Datei ist die URL dann z. B. file://localhost/C:/Meine Dateien/proxy.pac.

Bei einer URL fürs WWW lautet es z. B. http://proxy.teh-offleine.de:8080/proxy.pac oder Intranet z. B. http://192.168.99.1:8088/proxy.pac.

E. Ein Beispiel für eine proxy.pac

1:  function FindProxyForURL(url, host) 
2:  {
3:    if (dnsDomainIs(host, ".meine-domain.de") && !localHostOrDomainIs(host, "www.meine-domain.de")) return "DIRECT";
4:    if (isInNet(host, "199.186.177.35", "255.255.255.255")) return "PROXY 66.0.82.26:8088; PROXY 12.18.0.1:3128; PROXY 92.8.0.1:8091; DIRECT";
5:    if (shExpMatch(url, "http://intranet/logins/*")) return "PROXY 192.186.13.42:4711"; 
6:    if (url.substring(0,7) == "http://") return "PROXY 192.168.0.1:3128; PROXY 192.168.10.1:3128; DIRECT";
7:    if (url.substring(0,8) == "https://") return "PROXY 192.168.0.1:3128; PROXY 192.168.10.1:3128; DIRECT"; 
8:    if (url.substring(0,6) == "ftp://") return "PROXY 192.168.0.1:3128; PROXY 192.168.10.1:3128; DIRECT";
9:   return "PROXY 192.168.0.1:3128; PROXY 192.168.10.1:3128; DIRECT";
10: }

Alle hier angeführten IPs und Domains sind als Beispiele anzusehen und müssen nicht existent sein!

F. Was bedeutet das Alles unter Abschnitt E?

Zeile 1: Funktionsdefinition; muss immer so vorhanden sein

Zeile 2: Beginn des Funktionsblocks; muss immer so vorhanden sein

Zeile 3: Wenn die Domain meine-domain.de ist und es nicht www.meine-domain.de ist, dann ohne Proxy zugreifen

Ziele 4: Wenn die angeforderte IP 199.186.177.35 ist, dann benutze die Proxies in der folgenden Reihenfolge (immer der nächste absteigend, wenn einer nicht erreichbar ist) 66.0.82.26:8088, 12.18.0.1:3128, 92.8.0.1:8091, DIRECT.

Zeile 5: Wenn die angeforderte URL mit http://intranet/logins/ anfängt, dann den Proxy 192.186.13.42:4711 verwenden

Zeile 6: Wenn die URL mit http:// anfängt (typischer Fall von HTTP-Proxy), dann benutze die Proxies in der folgenden Reihenfolge 192.168.0.1:3128, 192.168.10.1:3128, DIRECT

Zeile 7: Wenn die URL mit https:// anfängt (typischer Fall von HTTPS-Proxy), dann benutze die Proxies in der folgenden Reihenfolge 192.168.0.1:3128, 192.168.10.1:3128, DIRECT

Zeile 8: Wenn die URL mit ftp:// anfängt (typischer Fall von FTP-Proxy), dann benutze die Proxies in der folgenden Reihenfolge 192.168.0.1:3128, 192.168.10.1:3128, DIRECT

Ziele 9: Wenn die Zeilen 3 bis 8 nicht zutreffen, dann dann benutze die Proxies in der folgenden Reihenfolge 192.168.0.1:3128, 192.168.10.1:3128, DIRECT

Zeile 10: Ende des Funktionsblocks; muss immer so vorhanden sein

Achtung: Nicht das Wort PROXY vor einer Proxy-IP vergessen!

G. Und wenn es immer noch nicht klappt?

Dann frage einfach bei mir nach!

Ich bin unter info@gwendragon.de zu erreichen.