About Sub-Locations

Sub-locations enable an organization to create new locations that reference IP addresses that are encapsulated within a GRE tunnel or IPsec tunnel, or that are passed to the Zscaler service through X-Forwarded-For headers.

For example, an organization can define a sub-location for its corporate network, and another sub-location for its guest network, even if their traffic goes through the same GRE or IPSec tunnel. Then, the organization can use the sub-locations to do the following:

  • Implement different policies based on IP addresses
  • Enforce authentication on the internal corporate network, while disabling it for the guest network
  • Provide reporting information for different internal networks/offices when they share the same egress IP address

A few things to keep in mind regarding sub-locations:

  • Sub-locations cannot have overlapping IP addresses within a location
  • Sub-locations can reference IP address ranges (e.g.,
  • When you add a sub-location, the service automatically creates an Other sub-location for all other IP addresses that are sent to the cloud from the location that are not already defined in the sub-location
  • While IP addresses within a location cannot overlap, the same IP address can exist in multiple locations

You can add individual sub-locations, as explained below, or import multiple locations and sub-locations using a CSV file.

To add a sub-location:

  1. Go to Administration > Locations.
  2. In the Locations page, locate the location you want to add a sub-location to, and click the Edit icon.

The Edit Location window appears.

  1. In the Edit Location window, select the Enable XFF Forwarding option if this location uses proxy chaining to forward traffic to the Zscaler service, and you want the service to use the X-Forwarded-For (XFF) headers that your on-premise proxy server inserts in outbound HTTP requests. The XFF header identifies the client IP address, which can be leveraged by the service to identify the client’s sub-location.

Using the XFF headers, the service can apply the appropriate sub-location policy to the transaction, and if Enable IP Surrogate is turned on for the location or sub-location, the appropriate user policy is applied to the transaction. When the service forwards the traffic to its destination, it will remove thr original XFF header and replace it with an XFF header that contains the IP address of the client gateway (the organization’s public IP address), ensuring that an organization's internal IP addresses are never exposed to externally.

  1. Go back to the Locations page and click the Add Sub-Location icon for the location.
    See image.

The Add Sub-Location window appears.

  1. In the Add Sub-Location window, in the Location section::
    • Name: Enter a name for the sub-location
    • Country: Choose your sub-location's country
    • State/Province: Enter the sub-location's state or province, if applicable
    • Time Zone: Choose the time zone for the sub-location
  2. In the Addressing section:
    1. Internal IP Addresses: Add the internal IP addresses for the sub-location.
    2. Click Add Items.
  3. In the Gateway Options section:
    • Enforce Authentication: Enable to require users from this location to authenticate to the service. To learn more, see Provisioning and Authenticating Users.
    • If you enabled Enforce Authentication, select if you want to map users to device IP addresses. To learn more, see What is Surrogate IP? If you enable this feature:
      • In Idle time to Disassociation, specify how long after a completed transaction the service retains the IP address to user mapping.
      • If you want to use existing IP-to-user mapping (acquired from the surrogate IP) to authenticate users sending traffic from known browsers, enable Enforce Surrogate IP for Known Browsers.

With this feature enabled, the Zscaler service uses existing IP-to-user mapping for authentication even if users go to sites that support cookies. This allows the service to authenticate without requiring the browser to complete HTTP redirects for every transaction, ensuring performance even for users who connect, for example, over high-latency satellite links. If the feature is disabled, the service authenticates users on browsers with cookies or other configured authentication mechanisms. 

  • If you enabled Enforce Surrogate IP for Known Browsers, in Refresh Time for re-validation of Surrogacy, specify the length of time that the Zscaler service can use IP-to-user mapping for authenticating users sending traffic from known browsers. After the defined period of time elapses, the service will refresh and revalidate the existing IP-to-user mapping so that it can continue to use the mapping for authenticating users on browsers.

Refresh time for the revalidation of IP surrogacy must be smaller than the DHCP lease time. Otherwise the wrong user policies might be applied.

  • Enable SSL Scanning: Select to enable the service to decrypt HTTPS transactions and inspect them for data leakage, malicious content and viruses, and to enforce policy.
  • Enforce Firewall Control: Select to enable the service's firewall controls.
  1. In the Bandwidth Control section, you can Enforce Bandwidth Control for the sub-location. If enabled, specify the maximum bandwidth limits for Download (Mbps) and Upload (Mbps).
  2. Click Save and activate the change.

In the Locations page, the sub-locations are listed when you expand a location.
See image. 

Screenshot of Zscaler sub-locations list used when traffic forwarding

Screenshot of sub-location icon used to add Zscaler sub-location when traffic forwarding