Technical Tip: Explaining ZTNA Forward Proxy vs. Service Connectors (FortiOS 8.0 and later)
Description
This article provides an explanation of the Zero Trust Network Access (ZTNA) traffic proxying options available on FortiOS v8.0.0 and later. More specifically, this article compares existing forward proxy functionality against the new ZTNA service connector functionality that has been added in v7.6 and v8.0.
Scope
FortiOS v7.6.0, v8.0.0, and later
Solution
Starting from FortiOS v7.0, the FortiGate can act as a ZTNA traffic proxy. With this functionality, client devices on untrusted networks can connect to the FortiGate, be subjected to authentication (through a combination of certificate and username/password authentication, plus EMS-based ZTNA tags), and subsequently access a protected resource using the FortiGate as a proxy server. See also: Zero Trust Network Access introduction.
This article refers to the above functionality as ZTNA forward proxying, where a single Fortinet device (such as a FortiGate, FortiProxy, or FortiPAM) receives a connection from the end-client and also makes a proxy connection to the protected server on-behalf of that client.
Note: FortiOS v8.0 changes ZTNA terminology compared to previous versions, and this article will utilize that updated version of terminology going forward. For more info, refer to the following document: ZTNA configuration simplification.
ZTNA forward proxy:

Later, FortiOS v8.0.0 formally introduced new ZTNA service connector functionality that allowed the FortiGate to chain ZTNA proxy requests across multiple Fortinet devices. This allowed for two new methods of traffic proxy operation: ZTNA forward-mode service connectors and ZTNA reverse-mode service connectors.
Note #1: Before discussing service-connector based ZTNA, it is important to define some key terminology for these configurations:
ZTNA Edge refers to a Fortinet device (such as the FortiGate, FortiProxy, or FortiPAM) that receives connection requests from an end-client device and then initiates an outgoing connection to a downstream Fortinet device.
ZTNA Gateway refers to a Fortinet device that receives proxy connections from an upstream ZTNA Edge device and then initiates an outgoing connections to the protected servers (aka the ZTNA Destinations, or 'realservers').
Note #2: Technically, FortiOS v7.6.0 implemented partial-support for ZTNA reverse-mode service connector functionality. However, the FortiGate could only act as a ZTNA Gateway (not as the ZTNA Edge) and the functionality was also not broadly advertised in the FortiOS 7.6 Admin Guide. See also:
config ztna traffic-forward-proxy-reverse-service <----- Original CLI naming in FortiOS 7.6.0.
config ztna reverse-connector <----- CLI renamed to in FortiOS 7.6.1 and above.
FortiOS v8.0 fully implements ZTNA service connector functionality, allowing the FortiGate to be used for both roles.
ZTNA forward-mode service connectors:

The diagram above demonstrates ZTNA forward-mode service connectors, where ZTNA proxy chaining and traffic flow is fully in the forward direction. Clients initiate connections to the ZTNA Edge, which then initiates its own outgoing connection to the ZTNA Gateway, which finally initiates an outgoing connection to the protected destination server.
ZTNA reverse-mode service connectors:

The diagram above demonstrates ZTNA reverse-mode service connectors, which are similar to forward-mode service connectors (proxying chaining from end-client to the destination server), but include two major differences:
The ZTNA Gateway initiates a persistent control channel connection outwards to the ZTNA Edge (shown above in green).
When the ZTNA Edge receives a connection attempt from the end-client for a specific protected service, it must first make a request to the ZTNA Gateway over the established control channel connection. The ZTNA Gateway then initiates a second outgoing connection to the ZTNA Edge that is utilized for the ZTNA data channel traffic (shown in red above).
Comparing the three methods:
ZTNA traffic forwarding method | Minimum Number of Devices required | Benefits | Drawbacks |
|---|---|---|---|
ZTNA forward proxying | One FortiGate |
|
|
ZTNA forward-mode service connectors | Two FortiGates (one ZTNA Edge, one ZTNA Gateway) |
|
|
ZTNA reverse-mode service connectors | Two FortiGates (one ZTNA Edge, one ZTNA Gateway) |
|
|
Related document:
ZTNA connector - reverse gateway and forwarder - Provides reference configuration snippets, along with the document linked above.
