Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ To enable load balancers to be deployed to the [China Network](/china-network/),
1. A valid [ICP license](/china-network/concepts/icp/) for the zone in question.
2. The zone must be provisioned with access to the China Network.

Once these two criteria are met, any newly created load balancer will be automatically deployed to the China Network. When choosing a region for a pool's health checks, `China` is now available to be selected in both the dashboard and API.
Once these two criteria are met, any newly created load balancer will be automatically deployed to the China Network. When choosing a region for a pool's health checks, `China` is now available to be selected in both the dashboard and API.

You can also create a load balancer by sending a `POST` request to the following endpoint. To deploy to the China Network with the API, the `networks` array in the API call must contain `jdcloud` as a value in addition to `cloudflare`. Refer to the [Cloudflare API documentation](/api/resources/load_balancers/methods/create/) for details on the required fields and their formats.

Expand All @@ -23,7 +23,7 @@ https://api.cloudflare.com/client/v4/zones/{zone_id}/load_balancers

## Limitations

Load balancers deployed to the China Network currently have the following limitations:
Load balancers deployed to the China Network currently have the following limitations:

1. Only cookie-based session affinity is supported.
2. Private network off-ramps (Tunnel, GRE, IPsec) are not supported.
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ The exact settings will vary depending on your use case. Refer to the following
3. Select **Create Load Balancer**.

4. On the **Hostname** page, define the settings presented and select **Next**.
* Enter a **Hostname**, which is the DNS name at which the load balancer is available. For more details on record priority, refer to [DNS records for load balancing](/load-balancing/load-balancers/dns-records/).
* Enter a **Hostname**, which is the DNS name at which the load balancer is available. For more details on record priority, refer to [DNS records for load balancing](/load-balancing/load-balancers/dns-records/).
:::caution

To prevent issues with DNS resolution, the load balancer hostname should be different from the hostname (or domain) you intend to define for your Spectrum application.
To prevent issues with DNS resolution, the load balancer hostname should be different from the hostname (or domain) you intend to define for your Spectrum application.
:::
* Keep the orange cloud icon enabled, meaning the load balancer is proxied. This refers to the [proxy mode](/load-balancing/understand-basics/proxy-modes/) and, with Spectrum, traffic is always proxied.
* Keep **Session Affinity** and **Failover across pools** disabled as these features are not supported with Spectrum.
Expand Down
10 changes: 5 additions & 5 deletions src/content/docs/load-balancing/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { CardGrid, Description, Feature, GlossaryTooltip, LinkTitleCard, Plan, R

<Description>

Maximize application performance and availability
Maximize application performance and availability
</Description>

<Plan id="traffic.load_balancing.properties.availability.summary" />
Expand Down Expand Up @@ -66,15 +66,15 @@ Review comprehensive analytics to evaluate traffic flow, assess endpoint health
## Related products

<RelatedProduct header="Standalone Health Checks" href="/health-checks/" product="health-checks">
Actively monitor whether your origin server is online by sending specific requests at regular intervals.
Actively monitor whether your origin server is online by sending specific requests at regular intervals.
</RelatedProduct>

<RelatedProduct header="DNS" href="/dns/" product="dns">
Get enterprise-grade authoritative DNS service with the fastest response time, unparalleled redundancy, and advanced security with built-in DDoS mitigation and DNSSEC.
Get enterprise-grade authoritative DNS service with the fastest response time, unparalleled redundancy, and advanced security with built-in DDoS mitigation and DNSSEC.
</RelatedProduct>

<RelatedProduct header="Waiting Room" href="/waiting-room/" product="waiting-room">
Route excess users to a custom-branded waiting room, helping preserve customer experience and protect origin servers from being overwhelmed with requests.
Route excess users to a custom-branded waiting room, helping preserve customer experience and protect origin servers from being overwhelmed with requests.
</RelatedProduct>

***
Expand All @@ -96,7 +96,7 @@ Learn more about the structure of Cloudflare Load Balancers and their various co
</LinkTitleCard>

<LinkTitleCard title="Learning Paths" href="/learning-paths/" icon="open-book">
Module-based guidance on Cloudflare product workflows.
Module-based guidance on Cloudflare product workflows.
</LinkTitleCard>

</CardGrid>
2 changes: 1 addition & 1 deletion src/content/docs/load-balancing/load-balancers/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ sidebar:

import { Render } from "~/components"

<Render file="load-balancer-definition" />
<Render file="load-balancer-definition" />

:::note

Expand Down
6 changes: 3 additions & 3 deletions src/content/docs/load-balancing/monitors/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ The following table summarizes the different types of monitors available in Clou

| Monitor type | Monitoring type | Description | Health check process | Success criteria |
| ------------ | -------------- | ----------- | -------------------- | -------------- |
| HTTP/HTTPS | Public and private | Used for HTTP and HTTPS endpoints with specific protocol attributes. | The probe is configured with settings and success criteria such as Method, Simulate Zone, Follow Redirects, Request Headers, and Response Body. The probe then evaluates the configured success criteria using the HTTP protocol. Throughout the configured timeout period, the TCP connection is kept active using [keep-alives](/fundamentals/reference/tcp-connections/#tcp-connections-and-keep-alives), even if no response is received. | Success is based on meeting the configured HTTP success criteria. No response within the configured timeout and retries is considered unhealthy. |
| TCP | Public and private | Checks TCP connectivity by attempting to open a connection to the endpoint. | The monitor sends a TCP SYN message to the specified port. A successful health check requires receiving a SYN/ACK message to establish the connection. The connection is closed by sending a FIN or RST packet, or by receiving a FIN packet from the endpoint. | Failure to establish a TCP connection within the configured timeout and retries is considered unhealthy. |
| HTTP/HTTPS | Public and private | Used for HTTP and HTTPS endpoints with specific protocol attributes. | The probe is configured with settings and success criteria such as Method, Simulate Zone, Follow Redirects, Request Headers, and Response Body. The probe then evaluates the configured success criteria using the HTTP protocol. Throughout the configured timeout period, the TCP connection is kept active using [keep-alives](/fundamentals/reference/tcp-connections/#tcp-connections-and-keep-alives), even if no response is received. | Success is based on meeting the configured HTTP success criteria. No response within the configured timeout and retries is considered unhealthy. |
| TCP | Public and private | Checks TCP connectivity by attempting to open a connection to the endpoint. | The monitor sends a TCP SYN message to the specified port. A successful health check requires receiving a SYN/ACK message to establish the connection. The connection is closed by sending a FIN or RST packet, or by receiving a FIN packet from the endpoint. | Failure to establish a TCP connection within the configured timeout and retries is considered unhealthy. |
| ICMP Ping | Public | Confirms basic Layer 3 (L3) connectivity to the endpoint using ICMP. The endpoints need to be allowed to reply to ICMP packets and any intervening networking equipment must support ICMP. | The monitor sends an ICMP/ICMPv6 echo request (ping) and expects an ICMP/ICMPv6 echo reply from the endpoint. | The endpoint must reply to the ICMP ping within the configured timeout and retries to be considered healthy. |
| UDP-ICMP | Public | UDP-ICMP monitor works by sending a UDP probe packet after ICMP Ping monitor completes as healthy. | After receiving a successful ICMP reply, the monitor sends a UDP probe packet to the endpoint. If no ICMP Port Unreachable message is received, the endpoint is considered healthy. | If the monitor receives an ICMP Port Unreachable message within the configured timeout and retries, the endpoint is considered unhealthy. |
| UDP-ICMP | Public | UDP-ICMP monitor works by sending a UDP probe packet after ICMP Ping monitor completes as healthy. | After receiving a successful ICMP reply, the monitor sends a UDP probe packet to the endpoint. If no ICMP Port Unreachable message is received, the endpoint is considered healthy. | If the monitor receives an ICMP Port Unreachable message within the configured timeout and retries, the endpoint is considered unhealthy. |
| SMTP | Public | Verifies SMTP availability at the application layer. | The monitor establishes a TCP connection and sends an SMTP HELO command. It expects a reply with code 250. The monitor then sends an SMTP QUIT command, expecting a reply with code 221. At the end of each interval, the TCP connection is closed by sending a TCP FIN packet. | The endpoint must respond with correct SMTP codes (250 for HELO, 221 for QUIT) within the configured timeout and retries to be considered healthy. |
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Monitors define the criteria based on which an endpoint will be considered healt

You can name the monitor after the parameters you have defined. For example: `HTTP - 200 - Follow Redirects`.

This way you can easily remember the criteria a certain monitor is using when you decide to attach it to other endpoints as well.
This way you can easily remember the criteria a certain monitor is using when you decide to attach it to other endpoints as well.
:::

6. Select **Save** to confirm.
Expand All @@ -82,7 +82,7 @@ To support the [use cases](#use-cases) mentioned above, and assuming you only ha

The endpoint pointing to [Cloudflare Pages](/pages/) must have **host header** filled in with the project domain (`<project>.pages.dev`) for it to resolve correctly. You can find a reference table for correct setup in Step 8 below.

Failing to add the host header will result in [response code mismatch error](/load-balancing/troubleshooting/common-error-codes/#response-code-mismatch-error) for the monitor, and [Error 1000: DNS points to prohibited IP](/support/troubleshooting/cloudflare-errors/troubleshooting-cloudflare-1xxx-errors/#error-1000-dns-points-to-prohibited-ip) for visitors (if the load balancer is enabled despite the unhealthy monitor status).
Failing to add the host header will result in [response code mismatch error](/load-balancing/troubleshooting/common-error-codes/#response-code-mismatch-error) for the monitor, and [Error 1000: DNS points to prohibited IP](/support/troubleshooting/cloudflare-errors/troubleshooting-cloudflare-1xxx-errors/#error-1000-dns-points-to-prohibited-ip) for visitors (if the load balancer is enabled despite the unhealthy monitor status).
:::

1. Go to **Traffic** > **Load Balancing**.
Expand All @@ -103,14 +103,14 @@ Failing to add the host header will result in [response code mismatch error](/lo

:::caution

As exemplified in Step 8 below, when using Cloudflare as an endpoint, **do not** specify one of Cloudflare's anycast IP addresses. Because these IPs can change at any time, you should use a hostname instead.
As exemplified in Step 8 below, when using Cloudflare as an endpoint, **do not** specify one of Cloudflare's anycast IP addresses. Because these IPs can change at any time, you should use a hostname instead.
:::
* The endpoint [weight](/load-balancing/understand-basics/traffic-steering/origin-level-steering/#weights), which can be set to `1`. Since each pool will only have one endpoint, the endpoint weight will not make a difference in this case.
* A [hostname](/load-balancing/additional-options/override-http-host-headers/) by selecting **Add host header**.

:::caution

If your production website is hosted on a platform like Cloudflare Pages, where you have a default subdomain (`example.pages.dev`) and then configure a [custom domain](/pages/configuration/custom-domains) (`my-app.com`), you will need to add a host header to avoid failing the health monitor request.
If your production website is hosted on a platform like Cloudflare Pages, where you have a default subdomain (`example.pages.dev`) and then configure a [custom domain](/pages/configuration/custom-domains) (`my-app.com`), you will need to add a host header to avoid failing the health monitor request.
:::

6. Finish configuring the first pool with the following information:
Expand Down Expand Up @@ -198,7 +198,7 @@ If you have used a temporary hostname for your load balancer, follow the steps b

:::caution[Important]

After you confirm everything is working correctly, make sure you re-enable the pools within the load balancer.
After you confirm everything is working correctly, make sure you re-enable the pools within the load balancer.
:::

## Route production traffic to load balancer
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/load-balancing/pools/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { GlossaryDefinition, Render } from "~/components"
For more details about how endpoints and pools become unhealthy, refer to [Endpoint and pool health](/load-balancing/understand-basics/health-details/).

:::caution
<Render file="endpoints-introduction-callout" />
<Render file="endpoints-introduction-callout" />
:::

***
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ For more detailed information about Load Balancing — including how-to guides,
:::note

Are you trying to turn on Load Balancing? [Enable Load
Balancing](https://dash.cloudflare.com/?to=/:account/:zone/traffic/load-balancing).
Balancing](https://dash.cloudflare.com/?to=/:account/:zone/traffic/load-balancing).
:::

***
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ For a hostname (`blog.example.com`) to resolve, the Domain Name System (DNS) mus

When you set up a load balancer, Cloudflare automatically creates an [LB DNS record](/load-balancing/load-balancers/dns-records/) for the specified hostname. This means that, according to a [priority order](/load-balancing/load-balancers/dns-records/#priority-order), instead of simply returning an IP address, the logic you introduced using the Cloudflare Load Balancing solution will be considered.

Note that you can use the root domain as a Load Balancer hostname. When doing so, make sure you enter the hostname without including the auto-generated dot that typically precedes your zone's name.
Note that you can use the root domain as a Load Balancer hostname. When doing so, make sure you enter the hostname without including the auto-generated dot that typically precedes your zone's name.

<Render file="load-balancing-diagram" />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Refer to the [API documentation](/api/resources/load_balancers/subresources/pool

:::note

Least Outstanding Requests steering can also be configured on a load balancer as a [global traffic steering policy](/load-balancing/understand-basics/traffic-steering/steering-policies/least-outstanding-requests/), taking into account outstanding request counts and `random_steering` weights for pools on the load balancer.
Least Outstanding Requests steering can also be configured on a load balancer as a [global traffic steering policy](/load-balancing/understand-basics/traffic-steering/steering-policies/least-outstanding-requests/), taking into account outstanding request counts and `random_steering` weights for pools on the load balancer.
:::

## Limitations
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Refer to the [API documentation](/api/resources/load_balancers/methods/update/)

:::note

Least Outstanding Requests steering can also be configured on a pool as a [local traffic steering policy](/load-balancing/understand-basics/traffic-steering/origin-level-steering/least-outstanding-requests-pools/), taking into account outstanding request counts and weights for endpoints within the pool.
Least Outstanding Requests steering can also be configured on a pool as a [local traffic steering policy](/load-balancing/understand-basics/traffic-steering/origin-level-steering/least-outstanding-requests-pools/), taking into account outstanding request counts and weights for endpoints within the pool.
:::

## Limitations
Expand Down