Was ist eine PAC-Datei?
Eine PAC-Datei (Proxy Auto-Configuration) ist eine Konfigurationsdatei, die mit einer JavaScript-Funktion je Ziel-URL entscheidet, ob der Datenverkehr direkt oder über einen Proxy geleitet wird. Kern ist die Funktion FindProxyForURL(url, host), die Browser und Betriebssystem für jede Anfrage auswerten; das Ergebnis ist eine Anweisung wie PROXY host:port oder DIRECT. Im Zscaler-Umfeld steuern PAC-Dateien, welcher Verkehr zur Prüfung an die Zscaler-Cloud geht und welcher sie umgeht. Sie wirken unscheinbar, sind aber ein zentrales Steuerinstrument des Traffic-Forwardings: Ein Fehler in der PAC-Logik betrifft sofort viele Nutzer und äußert sich als „Internet kaputt“ oder als ungeprüfter Verkehr.
PAC-Datei im Detail
Technisch ist eine PAC-Datei ein kleines Skript, das der Client von einer URL lädt und lokal auswertet. Die Logik prüft typischerweise Hostnamen, Domains oder IP-Bereiche und liefert die erste passende Anweisung zurück. Zscaler stellt gehostete PAC-Dateien bereit, die sich zentral pflegen lassen und Variablen enthalten können, über die der Client automatisch den nächstgelegenen Zscaler-Knoten erhält, etwa ${GATEWAY} für die aktuell erreichbare Gateway-IP oder ${Gateway_Host} für einen Hostnamen statt einer festen IP-Adresse.
Im Zusammenspiel mit dem Zscaler Client Connector taucht die PAC an zwei Stellen auf: Das Forwarding-Profil kann Verkehr im Tunnel-Modus kapseln oder per PAC an den Proxy verweisen, und auch im App-Profil lassen sich PAC-basierte Regeln und Ausnahmen hinterlegen. Wichtig für die Fehlersuche: Eine PAC steuert nur Anwendungen, die die System- oder Browser-Proxy-Einstellungen respektieren. Verkehr von Diensten, die daran vorbeigehen, folgt anderen Wegen, etwa dem Tunnel.
Warum sind PAC-Dateien im Zscaler-Betrieb wichtig?
Im Betrieb ist die PAC-Datei ein klassischer Hebel mit großem Wirkradius: Ein Tippfehler, eine falsch sortierte Bedingung oder eine vergessene Ausnahme wirkt sofort auf alle Nutzer, die diese PAC laden. Typische Ticketbilder sind „alles langsam“, „Seite nicht erreichbar“ oder Anwendungen, die nur an bestimmten Standorten funktionieren. Ob dahinter die PAC, das Forwarding-Profil oder das Netz steckt, ist ohne Einblick in die Kette schwer zu sagen.
Sicherheitsseitig gilt: Jede DIRECT-Ausnahme ist Verkehr, der an der Prüfung vorbeiläuft. Über Jahre gewachsene PAC-Dateien sammeln Ausnahmen, deren Grund niemand mehr kennt. Deshalb gehören PAC-Änderungen versioniert, begründet und getestet, mit regelmäßigem Blick darauf, welche Ausnahmen noch gebraucht werden. Für Audits zählt, wer die Datei wann geändert hat und warum.
Typische Fehlerquellen
- Syntax- oder Logikfehler: Schon ein Tippfehler in der PAC-Funktion kann das Forwarding für alle Nutzer brechen, die die Datei laden.
- Zu breite DIRECT-Ausnahmen: Was direkt geht, wird nicht geprüft; gewachsene Ausnahmelisten werden zum unsichtbaren Sicherheitsloch.
- Lokale Kopien und Caches: Veraltete, lokal verteilte PAC-Stände statt der zentral gehosteten Datei führen zu Drift und schwer reproduzierbaren Fehlern.
- PAC mit Tunnel-Modus verwechselt: Wer erwartet, dass die PAC allen Verkehr steuert, übersieht Anwendungen, die Proxy-Einstellungen ignorieren.
PAC-Dateien in der Praxis: so hilft CentaurNexus
CentaurNexus schaut dort nach, wo sonst geraten wird: in der PAC selbst. Wie diese Live-Prüfung der aktiven PAC-Datei per Test-URL konkret aussieht, zeigt unser rund zweieinhalbminütiges Video. PAC-Lens liest die tatsächlich aktive PAC-Datei aus dem Tenant, prüft die Syntax und zeigt per Test-URL, welche Zeile im FindProxyForURL greift, bevor jemand pauschal die PAC verdächtigt. Für Änderungen ergänzt PAC Configuration Studio die Lese-Seite um eine Bau-Seite: PAC-Regeln entstehen im Regel-Baukasten ohne JavaScript-Kenntnisse, der Testen-Reiter prüft sie mit derselben Trace-Engine wie PAC-Lens, und die fertige Datei wird exportiert; das Einspielen in den Tenant bleibt bewusst beim Admin. Ob ein Fehlerbild überhaupt am Forwarding liegt, klärt Connectivity Triage Map vorab mit einem Klartext-Befund: ISP, WLAN, Gerät oder Zscaler. Wie diese Einordnung im Alltag aussieht, zeigt der Leitfaden Ist es Zscaler oder das WLAN?.
Verwandte Begriffe
Häufige Fragen zur PAC-Datei
Eine PAC-Datei enthält JavaScript mit der Funktion FindProxyForURL(url, host). Sie prüft Bedingungen wie Hostnamen, Domains oder IP-Bereiche und gibt zurück, wie die Anfrage geleitet wird: über einen bestimmten Proxy (PROXY host:port) oder direkt (DIRECT). Browser und Betriebssystem werten diese Funktion für jede Anfrage aus.
DIRECT weist den Client an, die Verbindung ohne Proxy direkt zum Ziel aufzubauen. Im Sicherheitskontext heißt das: Dieser Verkehr läuft an der Prüfung vorbei. DIRECT-Ausnahmen sind manchmal nötig, etwa für lokale Ziele, sollten aber klein gehalten, begründet und regelmäßig überprüft werden.
Der Client Connector nutzt PAC-Logik je nach Konfiguration im Forwarding-Profil und im App-Profil, etwa um Verkehr an die Zscaler-Cloud zu verweisen oder Ausnahmen abzubilden. Ob der Verkehr per Tunnel oder per PAC geleitet wird, hängt vom gewählten Modus ab; die Details dokumentiert Zscaler im Help Portal.
Zentral gehostete PAC-Dateien stellen sicher, dass alle Clients denselben Stand laden und Änderungen sofort überall wirken. Lokale Kopien veralten unbemerkt und erzeugen schwer reproduzierbare Fehler. Zusätzlich lassen sich zentrale Dateien versionieren und kontrolliert ändern, was für Fehlersuche und Nachweise entscheidend ist.
Erste Anlaufstellen sind die Proxy-Einstellungen von Betriebssystem und Browser sowie das aktive Profil des Zscaler Client Connectors. Dort ist hinterlegt, von welcher URL die PAC geladen wird. Für die Diagnose lohnt der Abgleich: Ist es die erwartete URL, und entspricht der Inhalt dem zentral gepflegten Stand?
- Zscaler Help Portal: ZIA-Dokumentation, help.zscaler.com/zia
- Zscaler Help Portal: Writing a PAC File - help.zscaler.com/zia/writing-pac-file
- Zscaler Help Portal: About Forwarding Profiles - help.zscaler.com/zscaler-client-connector/about-forwarding-profiles
Hinweis: CentaurNexus ist ein unabhängiges Produkt der SourcingBlox GmbH und kein Angebot von Zscaler, Inc. Produkt- und Markennamen gehören ihren jeweiligen Inhabern.