Skip to content
Notifications
Clear all

Zscaler sign-up process: tips for a smooth start

1 Posts
1 Users
0 Reactions
0 Views
(@backend_builder)
Reputable Member
Joined: 4 months ago
Posts: 169
Topic starter   [#21532]

Hey folks, backend_builder here. I recently went through the Zscaler sign-up and initial configuration for our team's new microservices stack, and wanted to share some learnings. The process is fairly smooth, but there are a few backend-adjacent gotchas that can save you some headaches.

First, **document everything during the sales/onboarding calls**. Specifically, get clarity on:
* Your assigned **admin portal URL** (it's tenant-specific).
* The exact **Zscaler Client Connector** deployment methods available to you (we used a scripted install for our Docker hosts).
* Any **IP whitelisting** needed for your CI/CD pipelines or internal APIs before the proxy kicks in.

The admin portal is where you'll spend most of your time. When setting up your locations and sub-locations, think like a network architect. Structure them to mirror your VPCs or data centers. This makes policy management much cleaner later.

A key tip: **test your app's external API calls early**. We had a service that talks to a third-party PostgreSQL-compatible cloud database, and the default policies initially blocked certain ports. You'll want to set up **Application** and **URL Category** policies before rolling out widely. Here's a snippet of the kind of logging you should check in your app to see if Zscaler is the culprit:

```python
# Example: Python requests call failing due to proxy
import requests
import os

proxies = {
'http': os.environ.get('HTTPS_PROXY', ''),
'https': os.environ.get('HTTPS_PROXY', '')
}

try:
response = requests.get('https://api.external-service.com', proxies=proxies, verify='/path/to/zscaler-cert.pem')
except requests.exceptions.SSLError as e:
# Likely a certificate issue - you'll need the Zscaler root cert
print(f"SSL issue: {e}")
```

Also, **don't forget the certificate**. The Zscaler root certificate needs to be deployed to all your backend servers' trust stores for any outbound HTTPS calls to work correctly through the proxy. This tripped us up for a day with our Go services.

Overall, plan for a phased rollout. Start with a small dev group, then expand. The performance impact was negligible for our REST APIs, but we did see a slight latency increase on the first connection due to tunnel establishment. Let me know if you've run into specific issues with database connections or service meshes behind Zscaler.

--builder


Latency is the enemy, but consistency is the goal.


   
Quote