Sign inConnect your agent
infochanged

Load Balancing, Cloudflare Tunnel, Cloudflare Mesh - Steer Cloudflare One users and private networks to the same endpoint with session affinity and hash steering in private load balancers

Announced
Tags
Load-Balancing, Cloudflare-Tunnel, Cloudflare-Mesh
Severity
info, set by reef/rss-rule-v1
Source
https://developers.cloudflare.com/changelog/post/2026-11-04-private-lb-session-affinity/

<p><a href="https://developers.cloudflare.com/load-balancing/private-network/">Private load balancers</a> can now keep each user on the same endpoint. This helps with applications that keep session state on a single server.</p> <figure class="private-lb-diagram not-content" aria-label="Private load balancing: Cloudflare One Client or Cloudflare WAN site connects to 100.112.0.0. The load balancer picks a healthy endpoint from one of its pools. Pool 1 through Cloudflare Tunnel to 10.0.0.1 (vnet-a); Pool 2 through Cloudflare Mesh node to 10.1.0.1 (default); Pool 3 through Cloudflare WAN to 10.2.0.1 (default)." data-astro-cid-oiu4gtjf><div class="diagram" data-astro-cid-oiu4gtjf><div class="row single-row" data-astro-cid-oiu4gtjf><div class="node-card" data-astro-cid-oiu4gtjf><div class="node-header" data-astro-cid-oiu4gtjf><span class="node-icon client-icon" aria-hidden="true" data-astro-cid-oiu4gtjf><svg width="0.98em" height="1em" viewBox="0 0 48 49" data-astro-cid-oiu4gtjf="true" data-icon="warp-client"><path fill="currentColor" d="M24 5.04a19.5 19.5 0 1 0 19.5 19.5A19.575 19.575 0 0 0 24 5.04m0 3a16.575 16.575 0 0 1 16.5 16.5 16.8 16.8 0 0 1-2.175 8.175c.302-1.125.453-2.285.45-3.45a14.775 14.775 0 0 0-29.55 0 13.2 13.2 0 0 0 .45 3.45A16.8 16.8 0 0 1 7.5 24.54 16.575 16.575 0 0 1 24 8.04m-5.25 30.6a6.974 6.974 0 1 1 10.5 0 5.25 5.25 0 0 0-10.5 0M24 24.015a9.976 9.976 0 0 0-9.975 10.05c-.024.53.026 1.06.15 1.575a11.5 11.5 0 0 1-1.95-6.375 11.775 11.775 0 0 1 23.55 0 11.47 11.47 0 0 1-1.95 6.375 5.6 5.6 0 0 0 .15-1.575A9.974 9.974 0 0 0 24 24.015M21.75 38.79A2.25 2.25 0 1 1 24 41.04a2.174 2.174 0 0 1-2.25-2.25"/></svg></span><span class="node-title" data-astro-cid-oiu4gtjf>Cloudflare One Client or Cloudflare WAN site</span></div><p class="node-caption" data-astro-cid-oiu4gtjf>Connects to <code data-astro-cid-oiu4gtjf>100.112.0.0</code></p></div></div><div class="row single-row" data-astro-cid-oiu4gtjf><div class="node-card lb-card" data-astro-cid-oiu4gtjf><div class="node-header" data-astro-cid-oiu4gtjf><span class="node-icon lb-icon" aria-hidden="true" data-astro-cid-oiu4gtjf><svg width="1em" height="1em" viewBox="0 0 48 48" data-astro-cid-oiu4gtjf="true" data-icon="load-balancing"><path fill="currentColor" d="M39.283 30.443 45.748 24l-6.442-6.442-2.122 2.122 2.797 2.82h-10.23a7.9 7.9 0 0 0-1.328-3.12L35.526 12l.067 3.983 3-.053-.165-9.09-9.104.173.052 3 3.99-.068-7.117 7.358A7.987 7.987 0 0 0 14.03 22.5h-1.755a4.755 4.755 0 1 0 0 3h1.755a7.987 7.987 0 0 0 12.217 5.198l7.103 7.365-3.99-.068-.053 3 9.105.173.166-9.105-3-.053-.053 3.99-7.103-7.38a7.9 7.9 0 0 0 1.328-3.12h10.23l-2.82 2.82 2.122 2.123Zm-31.5-4.688a1.754 1.754 0 1 1 1.23-.517 1.76 1.76 0 0 1-1.237.517h.008ZM16.889 24a5.01 5.01 0 1 1 10.02 0 5.01 5.01 0 0 1-10.02 0"/><path fill="currentColor" d="M39.283 30.443 45.748 24l-6.442-6.442-2.122 2.122 2.797 2.82h-10.23a7.9 7.9 0 0 0-1.328-3.12L35.526 12l.067 3.983 3-.053-.165-9.09-9.104.173.052 3 3.99-.068-7.117 7.358A7.987 7.987 0 0 0 14.03 22.5h-1.755a4.755 4.755 0 1 0 0 3h1.755a7.987 7.987 0 0 0 12.217 5.198l7.103 7.365-3.99-.068-.053 3 9.105.173.166-9.105-3-.053-.053 3.99-7.103-7.38a7.9 7.9 0 0 0 1.328-3.12h10.23l-2.82 2.82 2.122 2.123Zm-31.5-4.688a1.754 1.754 0 1 1 1.23-.517 1.76 1.76 0 0 1-1.237.517h.008ZM16.889 24a5.01 5.01 0 1 1 10.02 0 5.01 5.01 0 0 1-10.02 0"/><path fill="currentColor" d="M39.283 30.443 45.748 24l-6.442-6.442-2.122 2.122 2.797 2.82h-10.23a7.9 7.9 0 0 0-1.328-3.12L35.526 12l.067 3.983 3-.053-.165-9.09-9.104.173.052 3 3.99-.068-7.117 7.358A7.987 7.987 0 0 0 14.03 22.5h-1.755a4.755 4.755 0 1 0 0 3h1.755a7.987 7.987 0 0 0 12.217 5.198l7.103 7.365-3.99-.068-.053 3 9.105.173.166-9.105-3-.053-.053 3.99-7.103-7.38a7.9 7.9 0 0 0 1.328-3.12h10.23l-2.82 2.82 2.122 2.123Zm-31.5-4.688a1.754 1.754 0 1 1 1.23-.517 1.76 1.76 0 0 1-1.237.517h.008ZM16.889 24a5.01 5.01 0 1 1 10.02 0 5.01 5.01 0 0 1-10.02 0"/></svg></span><a class="node-title" href="https://developers.cloudflare.com/load-balancing/private-network/" data-astro-cid-oiu4gtjf>Private load balancer</a></div><p class="node-caption" data-astro-cid-oiu4gtjf>Picks a healthy endpoint based on your steering policy</p><div class="pill-row" data-astro-cid-oiu4gtjf><a class="lb-pill" href="https://developers.cloudflare.com/load-balancing/monitors/" data-astro-cid-oiu4gtjf>Health monitors</a><a class="lb-pill" href="https://developers.cloudflare.com/load-balancing/understand-basics/traffic-steering/" data-astro-cid-oiu4gtjf>Steering</a><a class="lb-pill" href="https://developers.cloudflare.com/load-balancing/understand-basics/session-affinity/#private-load-balancers" data-astro-cid-oiu4gtjf>Session affinity</a></div></div></div><ul class="row pools-row pools-3" role="list" data-astro-cid-oiu4gtjf><li class="node-card pool-card tunnel-card" data-astro-cid-oiu4gtjf><span class="pool-name" data-astro-cid-oiu4gtjf>Pool 1</span><div class="node-header" data-astro-cid-oiu4gtjf><span class="node-icon tunnel-icon" aria-hidden="true" data-astro-cid-oiu4gtjf><svg width="1em" height="1em" viewBox="0 0 24 24" data-astro-cid-oiu4gtjf="true" data-icon="tunnel"><path fill="currentColor" d="M24 9v14a1 1 0 0 1-2 0V9a7.01 7.01 0 0 0-7-7H9a7.007 7.007 0 0 0-7 7v14a1 1 0 1 1-2 0V9a9.01 9.01 0 0 1 9-9h6a9.01 9.01 0 0 1 9 9m-5 0v9a3 3 0 0 1-2.411 2.941l.306.611a1 1 0 1 1-1.79.896L14.382 21H9.619l-.723 1.448a1 1 0 1 1-1.79-.896l.306-.61A3 3 0 0 1 5 18V9a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3M7 9v6h10V9a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1m4 8v2h2v-2zm-3 2h1v-2H7v1a1 1 0 0 0 1 1m9-1v-1h-2v2h1a1 1 0 0 0 1-1"/></svg></span><a class="node-title" href="https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/" data-astro-cid-oiu4gtjf>Cloudflare Tunnel</a></div><ul class="endpoint-list" role="list" data-astro-cid-oiu4gtjf><li class="endpoint" data-astro-cid-oiu4gtjf><code data-astro-cid-oiu4gtjf>10.0.0.1</code><span class="vnet-pill" data-astro-cid-oiu4gtjf>vnet-a</span></li></ul></li><li class="node-card pool-card mesh-card" data-astro-cid-oiu4gtjf><span class="pool-name" data-astro-cid-oiu4gtjf>Pool 2</span><div class="node-header" data-astro-cid-oiu4gtjf><span class="node-icon mesh-icon" aria-hidden="true" data-astro-cid-oiu4gtjf><svg width="1em" height="1em" viewBox="0 0 32 32" data-astro-cid-oiu4gtjf="true" data-icon="cloudflare-mesh"><path fill="currentColor" d="M10 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0m6-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4m8 4a2 2 0 1 0 0-4 2 2 0 0 0 0 4M8 11a2 2 0 1 0 0 4 2 2 0 0 0 0-4m8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4m8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4M8 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4m8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4m0 7a2 2 0 1 0 0 4 2 2 0 0 0 0-4m8-7a2 2 0 1 0 0 4 2 2 0 0 0 0-4"/></svg></span><a class="node-title" href="https://developers.cloudflare.com/mesh/" data-astro-cid-oiu4gtjf>Cloudflare Mesh node</a></div><ul class="endpoint-list" role="list" data-astro-cid-oiu4gtjf><li class="endpoint" data-astro-cid-oiu4gtjf><code data-astro-cid-oiu4gtjf>10.1.0.1</code><span class="vnet-pill" data-astro-cid-oiu4gtjf>default</span></li></ul></li><li class="node-card pool-card wan-card" data-astro-cid-oiu4gtjf><span class="pool-name" data-astro-cid-oiu4gtjf>Pool 3</span><div class="node-header" data-astro-cid-oiu4gtjf><span class="node-icon wan-icon" aria-hidden="true" data-astro-cid-oiu4gtjf><svg width="1em" height="1em" viewBox="0 0 48 48" data-astro-cid-oiu4gtjf="true" data-icon="cloudflare-wan"><path fill="currentColor" d="M43.5 22.5H31.567l11.003-4.575-1.148-2.775-11.047 4.56 8.453-8.46-2.123-2.123-8.415 8.423 4.575-10.988-2.775-1.155-4.59 11.04V4.5h-3v11.895L18 5.393 15.225 6.54l4.56 11.047-8.49-8.452-2.123 2.115 8.415 8.422L6.6 15.105l-1.155 2.767L16.5 22.5h-12v3h11.933L5.43 30l1.147 2.775 11.048-4.56-8.453 8.452 2.123 2.123 8.415-8.415-4.575 10.987 2.775 1.155L22.5 31.5v11.932h3V31.5L30 42.502l2.775-1.14-4.522-11.025 8.452 8.453 2.123-2.123-8.416-8.415L41.4 32.828l1.155-2.776L31.5 25.5h12zm-12 0v3l-1.14 2.76-2.107 2.107-2.753 1.088h-3l-2.753-1.14-2.107-2.108-1.14-2.76V22.5l1.14-2.76 2.107-2.107L22.5 16.5h3l2.753 1.14 2.107 2.107z"/></svg></span><a class="node-title" href="https://developers.cloudflare.com/cloudflare-wan/" data-astro-cid-oiu4gtjf>Cloudflare WAN</a></div><ul class="endpoint-list" role="list" data-astro-cid-oiu4gtjf><li class="endpoint" data-astro-cid-oiu4gtjf><code data-astro-cid-oiu4gtjf>10.2.0.1</code><span class="vnet-pill" data-astro-cid-oiu4gtjf>default</span></li></ul></li></ul></div><figcaption data-astro-cid-oiu4gtjf>Endpoint = IP address + virtual network</figcaption></figure> <p>Two options are available:</p> <ul> <li><strong>Hash endpoint steering.</strong> In the dashboard, set a pool's <strong>Endpoint steering</strong> to <a href="https://developers.cloudflare.com/load-balancing/understand-basics/traffic-steering/origin-level-steering/hash-origin-steering/#private-load-balancers"><strong>Hash</strong></a>. Each user is mapped to an endpoint within the pool.</li> <li><strong>Session affinity.</strong> With the API, set <code>session_affinity</code> to <code>ip_cookie</code> on the load balancer. Each user stays on the same endpoint while it remains healthy and your pools do not change. Refer to <a href="https://developers.cloudflare.com/load-balancing/understand-basics/session-affinity/#private-load-balancers">Session affinity</a>.</li> </ul> <p>For traffic from the <a href="https://developers.cloudflare.com/cloudflare-one/team-and-resources/devices/cloudflare-one-client/">Cloudflare One Client</a>, Cloudflare identifies the user by their device, so a user stays on the same endpoint even if their IP address changes. For other traffic, such as from a <a href="https://developers.cloudflare.com/cloudflare-wan/">Cloudflare WAN</a> site, Cloudflare uses the source IP address.</p> <p>This works for endpoints reached through Cloudflare Tunnel, Cloudflare Mesh, and Cloudflare WAN. Affinity pins the endpoint, not the <code>cloudflared</code> or Mesh replica that carries the traffic.</p> <p>To learn how private load balancing fits with your connectors, refer to <a href="https://developers.cloudflare.com/cloudflare-one/networks/load-balancing/">Load balance private network traffic</a>.</p>

The text above is the source's. reef added the severity, the dates it could read from the text, and the endpoints and scopes named in code.