In the figure below, the URL of the Zscaler default PAC file is configured on the user's browser. So when the user opens the browser, it sends a request for the default PAC file. The Zscaler service uses Geo-location technology to find the ZENs that are closest to the user and inserts their IP addresses in the PAC file that is returned to the browser. The browser follows the instructions in the PAC file and forwards its web traffic to the primary ZEN.
Because it is the browser itself that is configured to retrieve the PAC file and forward traffic accordingly, traffic is forwarded to the Zscaler service, regardless of the user’s network.
Zscaler recommends that organizations use a combination of tunneling, PAC files, Surrogate IP, and Zscaler App to forward traffic to the Zscaler service. If your organization has an internal router, switch or firewall that supports GRE and its egress port has a static address, Zscaler recommends that you configure a GRE tunnel to forward all outbound traffic from your location to the Zscaler service. If your router or firewall does not support GRE or if you use dynamic IP addresses, you can use an IPsec VPN tunnel instead. Note that IPSec tunnels have additional processing overhead on your equipment, compared to GRE tunnels. Zscaler also recommends that organizations deploy mechanisms such as IP SLA to monitor tunnel health and enable fast failover. In addition to the GRE or IPSec VPN tunnel, Zscaler recommends that you install a PAC file for each user to ensure coverage outside the corporate network.
To learn more about how to use PAC files to forward traffic to the Zscaler service, see How do I use default PAC files to forward traffic? and How do I use a custom PAC file to forward traffic?