All posts

The simplest way to make FortiGate Zscaler work like it should

Picture the scene: a cloud migration project in full swing, hundreds of users moving between data centers and SaaS apps. Policies pile up. VPN tunnels multiply. And someone finally asks the dreaded question—why does traffic crawl when it passes through both FortiGate and Zscaler? That question is how most engineers discover the strange dance between these two security layers. FortiGate does what it has always done well: control access, inspect traffic, and enforce perimeter policy. Zscaler pick

Free White Paper

End-to-End Encryption + Sarbanes-Oxley (SOX) IT Controls: The Complete Guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free. No spam. Unsubscribe anytime.

Picture the scene: a cloud migration project in full swing, hundreds of users moving between data centers and SaaS apps. Policies pile up. VPN tunnels multiply. And someone finally asks the dreaded question—why does traffic crawl when it passes through both FortiGate and Zscaler? That question is how most engineers discover the strange dance between these two security layers.

FortiGate does what it has always done well: control access, inspect traffic, and enforce perimeter policy. Zscaler picks up where the perimeter stops, securing outbound traffic to the internet with granular identity and TLS inspection. When they connect right, you get fast, consistent, identity-aware routing. When they don’t, logs explode and users reach for support tickets. Combining FortiGate with Zscaler is about linking intent with identity, not stacking filters.

Here is the integration logic: FortiGate directs outbound traffic through a GRE or IPSec tunnel to Zscaler’s cloud service. Zscaler validates identity against your IdP—think Okta or Azure AD—then applies policy before allowing egress. The handshake happens at the network layer but the control logic lives in identity. This design keeps the enterprise boundary clean while letting user-level policies travel with each request.

A few best practices keep things smooth. Map FortiGate zones to Zscaler segments to avoid double inspection. Rotate service credentials on a fixed schedule—most teams tie that to AWS IAM Roles or similar key stores. Always verify header preservation; dropped headers cause half the “why isn’t filtering working” tickets. Keep tunnel health monitored with synthetic probes instead of manual pings. They catch policy sync drift before users feel it.

Benefits of FortiGate Zscaler integration:

Continue reading? Get the full guide.

End-to-End Encryption + Sarbanes-Oxley (SOX) IT Controls: Architecture Patterns & Best Practices

Free. No spam. Unsubscribe anytime.
  • Consistent identity enforcement across private and public traffic
  • Reduced latency compared to full VPN routing models
  • Fine-grained logs tied to actual user sessions, not just IPs
  • Automated compliance for SOC 2 and ISO standards
  • Simplified support—visible flows, predictable outcomes

For developers, this setup means fewer blocked builds and quicker testing. No more waiting for network approvals to reach an external API. The identity-based access simplifies debugging since every outbound call traces cleanly to a user or service. Developer velocity climbs because static routes become dynamic, identity-aware paths.

AI tools love this pattern too. Copilots fetching external context or dependency data can route traffic securely through Zscaler’s inspection layer while FortiGate protects internal ingress. Policy enforcement stays consistent even when autonomous agents start making their own API calls.

Platforms like hoop.dev turn those access rules into guardrails that enforce policy automatically. Instead of writing dozens of FortiGate CLI lines or Zscaler portal clicks, you define behavior once and let the platform translate intent into configuration with instant audit trails.

How do you connect FortiGate and Zscaler securely? Establish GRE or IPSec tunnels from FortiGate to Zscaler, authenticate using your cloud credentials, then sync identity policies from an IdP such as Okta. That creates a seamless path for secure, user-level inspection without manual routing changes.

FortiGate Zscaler works best when treated as a unified policy system rather than two tools forced together. Make identity your boundary, not IP, and the whole network suddenly feels faster and smarter.

See an Environment Agnostic Identity-Aware Proxy in action with hoop.dev. Deploy it, connect your identity provider, and watch it protect your endpoints everywhere—live in minutes.

Get started

See hoop.dev in action

One gateway for every database, container, and AI agent. Deploy in minutes.

Get a demoMore posts