Skip to content

Commit 5560aa0

Browse files
authored
[CF1] Private hostname routes don't work with Load Balancer (#26102)
* hostname routes + LB * add alternate solution * fix link
1 parent 195dd9c commit 5560aa0

File tree

2 files changed

+17
-9
lines changed
  • src/content/docs
    • cloudflare-one/networks/connectors/cloudflare-tunnel/configure-tunnels/tunnel-availability
    • load-balancing/private-network

2 files changed

+17
-9
lines changed

src/content/docs/cloudflare-one/networks/connectors/cloudflare-tunnel/configure-tunnels/tunnel-availability/index.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,7 @@ There are two types of load balancers that you can use with Cloudflare Tunnel en
8787

8888
- [Public load balancers](/cloudflare-one/networks/connectors/cloudflare-tunnel/routing-to-tunnel/public-load-balancers/) steer traffic from the Internet to applications published on a Cloudflare domain. Use this method if your service is served by Cloudflare Tunnel via a [published application route](/cloudflare-one/networks/connectors/cloudflare-tunnel/get-started/create-remote-tunnel/#2a-publish-an-application).
8989
- [Private load balancers](/load-balancing/private-network/) steer traffic from WARP clients, Magic WAN, and other <GlossaryTooltip term = "on-ramp">on-ramps</GlossaryTooltip> to an internal IP on your private network. Use this method if your service is connected to Cloudflare Tunnel via a [CIDR route](/cloudflare-one/networks/connectors/cloudflare-tunnel/private-net/cloudflared/connect-cidr/).
90+
91+
:::note
92+
[Private hostname routes](/cloudflare-one/networks/connectors/cloudflare-tunnel/private-net/cloudflared/connect-private-hostname/) are not currently compatible with Load Balancing. If your service is connected via a hostname route, use `cloudflared` [replicas](#cloudflared-replicas) for high availability.
93+
:::

src/content/docs/load-balancing/private-network/warp-to-tunnel.mdx

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,17 @@ graph LR
2626
subgraph D2[Data center 2]
2727
cf2@{ shape: processes, label: "cloudflared" }
2828
subgraph F[Pool 2]
29-
S3["Endpoint <br> server3.internal.local <br> 10.0.0.1 (VNET-2)"]
30-
S4["Endpoint <br> server4.internal.local <br> 10.0.0.2 (VNET-2)"]
29+
S3["Endpoint <br> 10.0.0.1 (VNET-2)"]
30+
S4["Endpoint <br> 10.0.0.2 (VNET-2)"]
3131
end
3232
cf2-->S3
3333
cf2-->S4
3434
end
3535
subgraph D1[Data center 1]
3636
cf1@{ shape: processes, label: "cloudflared" }
3737
subgraph E[Pool 1]
38-
S1["Endpoint <br> server1.internal.local <br> 10.0.0.1 (VNET-1)"]
39-
S2["Endpoint <br> server2.internal.local <br> 10.0.0.2 (VNET-1)"]
38+
S1["Endpoint <br> 10.0.0.1 (VNET-1)"]
39+
S2["Endpoint <br> 10.0.0.2 (VNET-1)"]
4040
end
4141
cf1-->S1
4242
cf1-->S2
@@ -51,11 +51,15 @@ The components in the diagram include:
5151
- **cloudflared**: Each data center is connected to Cloudflare with its own Cloudflare Tunnel. `cloudflared` installs on one or [more](/cloudflare-one/networks/connectors/cloudflare-tunnel/configure-tunnels/tunnel-availability/#cloudflared-replicas) host machines in the network.
5252
- **Private load balancer IP**: End users connect to the application using the load balancer's IP address. This can either be a Cloudflare-assigned CGNAT IP (`100.64.0.0/10`) or a custom [RFC 1918](https://datatracker.ietf.org/doc/html/rfc1918) IP.
5353
- **Load balancer pool**: The load balancer is configured with one [pool](/load-balancing/understand-basics/load-balancing-components/#pools) per tunnel.
54-
- **Load balancer endpoint**: A pool contains one or more endpoints, where each endpoint is a server behind `cloudflared` that is running the application. If you prefer to manage endpoints using IPs, you can assign a distinct [virtual network (VNET)](/cloudflare-one/networks/connectors/cloudflare-tunnel/private-net/cloudflared/tunnel-virtual-networks/) per tunnel so that Load Balancer can deterministically route requests to the correct endpoint.
54+
- **Load balancer endpoint**: A pool contains one or more endpoints, where each endpoint is a server behind `cloudflared` that is running the application. If your servers have overlapping IPs, you can assign a distinct [virtual network (VNET)](/cloudflare-one/networks/connectors/cloudflare-tunnel/private-net/cloudflared/tunnel-virtual-networks/) per tunnel so that Load Balancer can deterministically route requests to the correct endpoint.
55+
56+
:::note
57+
Load Balancing does not currently support [private hostname routing](/cloudflare-one/networks/connectors/cloudflare-tunnel/private-net/cloudflared/connect-private-hostname/). Load balancing endpoints must be defined using an IP address and virtual network (for example, `10.0.0.1 (VNET-1)`).
58+
:::
5559

5660
## Prerequisites
5761

58-
- Your private hostname or IP routes through Cloudflare Tunnel. To learn how to connect your private network, refer to [Connect a private hostname](/cloudflare-one/networks/connectors/cloudflare-tunnel/private-net/cloudflared/connect-private-hostname/) or [Connect an IP/CIDR](/cloudflare-one/networks/connectors/cloudflare-tunnel/private-net/cloudflared/connect-cidr/).
62+
- Your endpoint IP addresses route through Cloudflare Tunnel. To learn how to connect your private network, refer to [Connect an IP/CIDR](/cloudflare-one/networks/connectors/cloudflare-tunnel/private-net/cloudflared/connect-cidr/).
5963

6064
## 1. Create load balancer pools
6165

@@ -71,9 +75,9 @@ To create a pool using the dashboard, refer to the [Create a pool](/load-balanci
7175

7276
:::note[Endpoint IP address limitations]
7377

74-
- All endpoints with private IPs must have a virtual network (VNET) specified.
75-
- A pool cannot have multiple endpoints with the same IP address, even when using different virtual networks. You can assign endpoints with overlapping IPs to different pools, as shown in the [example diagram](#_top). Alternatively, add endpoints using their [private hostnames](/cloudflare-one/networks/connectors/cloudflare-tunnel/private-net/cloudflared/connect-private-hostname/) instead of IPs.
76-
:::
78+
- All endpoints with private IPs must have a [virtual network (VNET)](/cloudflare-one/networks/connectors/cloudflare-tunnel/private-net/cloudflared/tunnel-virtual-networks/) specified. If you did not select a VNET when adding a Cloudflare Tunnel route, the endpoint will be assigned to the `default` VNET.
79+
- A pool cannot have multiple endpoints with the same IP address, even when using different virtual networks. You can assign endpoints with overlapping IPs to different pools, as shown in the [example diagram](#_top).
80+
:::
7781

7882
</TabItem>
7983

0 commit comments

Comments
 (0)