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.
© 2004–2099 GwenDragon