Configuring F5 load balancers to support Synchrony traffic

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

This document is provided as-is

Atlassian applications allow the use of Load Balancers with our products, however Atlassian's Support Offerings do not cover infrastructure configuration. Consequently, Atlassian cannot guarantee providing any support for them.

If assistance with configuration is required, please raise a question on Atlassian Community.

This document is a template for how to configure F5 BIG-IP LTM load balancer for use with Confluence and Synchrony (Collaborative Editing).

This is aligned with the recommended configuration so that the load balancer can route traffic to both Confluence and Synchrony JVM.

See Possible Confluence and Synchrony Configurations for more details on this configuration.

This document isn't intended as a final solution, but as a starting point.

Environment

This document considers a standard deployment as follows:

  • Confluence Data Center with 2 nodes.

  • Managed Synchrony, which was made available on 6.12 onward.

    • Confluence and Synchrony running on the same server.

  • Standard ports are used as described in Ports used by Atlassian Data Center Applications.

    • Confluence Tomcat connector listening on port 8090 and Synchrony listening on port 8091.

  • If using HTTPS, SSL offloaded on the F5.

This document can (and should) still be used as starting point if your configuration differs from the above.

Solution

The F5 BIG-IP configuration is required at least on the following sections:

  • Virtual Server

  • iRule

  • Pool

Pool

Configure two different Pools, one for Confluence and another for Synchrony. You may give any name to the Pools. See an example below.

(Auto-migrated image: description temporarily unavailable)

When running with managed Synchrony, the target servers for both pools should be the same.

The main difference in the configuration is on the target port.

When using the default ports, the target port for Confluence is 8090 and the target port for Synchrony is 8091.

See an example below for the Synchrony pool.

(Auto-migrated image: description temporarily unavailable)

While standard TCP health checks may work on most cases, it is recommended to configure customized HTTP health checks for both Pools as below.

Pool

Target URL

Expected HTTP response

Expected Body response

Additional Information

Confluence

http://<Confluence node IP>:8090/status

200

{"state":"RUNNING"}

Clustering with Confluence Data Center

Synchrony

http://<Synchrony node IP>:8091/synchrony/heartbeat

200

OK

How to check the status of Synchrony for Confluence Data Center

iRule

You need to configure an iRule so that requests to Synchrony are forwarded to the Synchrony pool and anything else is forwarded to the Confluence pool.

The following iRule works on most regular situations and can be used as a starting point if your organization needs additional configuration.

1 2 3 4 5 6 7 when HTTP_REQUEST { if { [string tolower [HTTP::path]] starts_with "/synchrony" } { pool <Synchrony pool> } else { pool <Confluence pool> } }

See an example below.

(Auto-migrated image: description temporarily unavailable)

Virtual Server

You need to configure one virtual server that will use both Confluence and Synchrony pools.

If using HTTPS, SSL must be offloaded on the F5, since Synchrony cannot offload SSL.

See an example below with the following mandatory configuration:

  • iRules: The Synchrony iRule must be used here; you may have any other iRule that is needed in your organization.

  • Default pool: It should be set to none since the iRule will manage it.

  • Default Persistence Profile: Session cookie stickiness must be configured so that all requests from the same session are sent to the same Confluence node.

(Auto-migrated image: description temporarily unavailable)
(Auto-migrated image: description temporarily unavailable)

See Also

Ports used by Atlassian Data Center Applications

Possible Confluence and Synchrony Configurations

Administering Collaborative Editing

Configuring Synchrony

Clustering with Confluence Data Center

How to check the status of Synchrony for Confluence Data Center

Migrate from a standalone Synchrony cluster to managed Synchrony

Updated on April 2, 2025

Still need help?

The Atlassian Community is here for you.