Skip to content
Merged
Show file tree
Hide file tree
Changes from 44 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
6cd0456
added apirequest
marciocloudflare Mar 11, 2025
e1a3300
deleted old api
marciocloudflare Mar 11, 2025
dc24d7b
updated response example
marciocloudflare Mar 11, 2025
d05a345
added post request
marciocloudflare Mar 11, 2025
5de143e
deteled unecessary step
marciocloudflare Mar 11, 2025
cad4b7d
deleted old example
marciocloudflare Mar 11, 2025
26775d3
added new response example
marciocloudflare Mar 11, 2025
095ecc2
removed extra space
marciocloudflare Mar 11, 2025
9dab008
added delete apirequest
marciocloudflare Mar 11, 2025
10d8730
deleted old example
marciocloudflare Mar 11, 2025
2bb38d5
added response example
marciocloudflare Mar 11, 2025
db4fbd5
update var name
marciocloudflare Mar 11, 2025
2c95be0
added delete apirequest
marciocloudflare Mar 11, 2025
d4dedcf
deleted old api
marciocloudflare Mar 11, 2025
3844a2e
added response example
marciocloudflare Mar 11, 2025
5ab6d42
deleted 1st old step
marciocloudflare Mar 11, 2025
694b387
added new apirequest
marciocloudflare Mar 11, 2025
6bc157c
changed name example
marciocloudflare Mar 11, 2025
ae9e0c8
added example
marciocloudflare Mar 11, 2025
8067004
added list apirequest
marciocloudflare Mar 11, 2025
b309c04
deleted old api example
marciocloudflare Mar 11, 2025
5e0b7b8
added new response example
marciocloudflare Mar 11, 2025
21aae07
corrected var name
marciocloudflare Mar 11, 2025
814c83c
added new examples deleted old
marciocloudflare Mar 11, 2025
6fb6756
added test
marciocloudflare Mar 11, 2025
286e5b0
removed test
marciocloudflare Mar 11, 2025
42633cf
created partial
marciocloudflare Mar 11, 2025
e5ccb8d
added content
marciocloudflare Mar 11, 2025
65986e9
corrected problems for breakout
marciocloudflare Mar 11, 2025
275a33b
added render file prioritized
marciocloudflare Mar 11, 2025
6682c05
changed note to h2
marciocloudflare Mar 11, 2025
e872b06
moved the aside to breaktout only
marciocloudflare Mar 11, 2025
bd8953a
moved warp title to breakout
marciocloudflare Mar 11, 2025
7ac96f9
removed markdown import
marciocloudflare Mar 11, 2025
27ad802
removed old partials
marciocloudflare Mar 11, 2025
bcf2345
removed extra var
marciocloudflare Mar 11, 2025
5d2e33e
removed extra var
marciocloudflare Mar 11, 2025
6ebdb50
readded step 1 list apps
marciocloudflare Mar 11, 2025
6c39a68
added jsontype
marciocloudflare Mar 11, 2025
6ead37d
refined commands
marciocloudflare Mar 11, 2025
2d80c75
deleted message
marciocloudflare Mar 11, 2025
24ef7fa
deleted list
marciocloudflare Mar 11, 2025
a212764
deleted example
marciocloudflare Mar 11, 2025
6bea32b
Update src/content/partials/magic-wan/connector/app-aware-policies/br…
marciocloudflare Mar 11, 2025
4b61488
indented line
marciocloudflare Mar 12, 2025
17f8abe
added json output
marciocloudflare Mar 12, 2025
645919a
added props.jsontype
marciocloudflare Mar 12, 2025
292cb6d
added json type
marciocloudflare Mar 12, 2025
55a4824
changed type
marciocloudflare Mar 12, 2025
dfb1f08
idented json
marciocloudflare Mar 12, 2025
92682f3
added output
marciocloudflare Mar 12, 2025
3f7c10c
Merge branch 'marcio/pcx15975b-magic-api' of github.com:cloudflare/cl…
marciocloudflare Mar 12, 2025
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 @@ -6,179 +6,11 @@ description: Breakout traffic allows you to define which applications should
bypass Cloudflare's security filtering.
---

import { Render, TabItem, Tabs } from "~/components";

Breakout traffic allows you to define which applications should bypass Cloudflare's security filtering, and go directly to the Internet. It works via DNS requests inspection. This means that if your network is caching DNS requests, Breakout traffic will only take effect after you cache entries expire and your client issues a new DNS request that the Magic WAN Connector can detect. This can take several minutes.

:::caution
Breakout traffic will not work for applications that use DNS-over-HTTPs.
:::

<br />

```mermaid
flowchart LR
accTitle: In this example, the applications go directly to the Internet, skipping Cloudflare's security. filtering
a(Magic WAN Connector) --> b(Cloudflare) -->|Filtered traffic|c(Internet)

a-- Breakout traffic ---d(Application1) & e(Application2) --> c

classDef orange fill:#f48120,color: black
class a,b orange
```

_In the graph above, Applications 1 and 2 are configured to bypass Cloudflare's security filtering, and go straight to the Internet_

:::note[A note on security]
We recommend [routing](https://www.cloudflare.com/learning/network-layer/what-is-routing/) all traffic through our global network for comprehensive security filtering and access controls. However, there may be specific cases where you want a subset of traffic to bypass Cloudflare's security filtering and route it directly to the Internet. You can scope this breakout traffic to specific applications from the Cloudflare dashboard.

Refer to [Traffic steering](/magic-wan/reference/traffic-steering/) to learn how Cloudflare routes traffic.
:::

## Add an application

You need to configure Breakout traffic for each of your existing sites, as it is a per-site configuration.

<Tabs syncKey="dashPlusAPI"> <TabItem label="Dashboard">

<Render
file="connector/app-aware-policies/add-app"
params={{ featureName: "Breakout traffic" }}
/>
6. Select one or more applications that should bypass Cloudflare filtering from the list. You can also use the search box.
7. Select **Add applications**.

The traffic for that application will now go directly to the Internet and bypass Cloudflare's filtering.

</TabItem> <TabItem label="API">

<Render file="connector/account-id-api-key" />

1. Send a [`GET` request](/api/resources/magic_transit/subresources/apps/methods/list/) to list the applications associated with an account.

Example:

```bash
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/magic/apps \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"
```

```json output
{
"result": [
{
"managed_app_id": "<MANAGED_APP_ID>",
"name": "<APP_NAME>",
"type": "<TYPE_OF_APP>",
"hostnames": ["<HOSTNAME1.com>", "<HOSTNAME2.info>"]
}
],
"success": true,
"errors": [],
"messages": []
}
```

Take note of the `"managed_app_id"` value for any application you want to configure.

2. Send a [`POST` request](/api/resources/magic_transit/subresources/apps/methods/create/) to add new apps the breakout traffic policy.

Example:

```bash
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/magic/sites/{site_id}/app_configs \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
"managed_app_id": "<MANAGED_APP_ID>",
"breakout": true
}'
```

```json output
{
"result": {
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"site_id": "023e105f4ecef8ad9ca31a8372d0c353",
"managed_app_id": "<MANAGED_APP_ID>",
"breakout": true
},
"success": true,
"errors": [],
"messages": []
}
```

</TabItem> </Tabs>

## Delete an application

<Tabs syncKey="dashPlusAPI"> <TabItem label="Dashboard">

<Render
file="connector/app-aware-policies/delete-app"
params={{ featureName: "Breakout traffic" }}
/>

</TabItem> <TabItem label="API">

<Render file="connector/account-id-api-key" />

1. Send a [`GET` request](/api/resources/magic_transit/subresources/apps/methods/list/) to list the applications associated with a site.

Example:

```bash
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/magic/sites/{site_id}/app_configs \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"
```

```json output
{
"result": [
{
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"site_id": "023e105f4ecef8ad9ca31a8372d0c353",
"managed_app_id": "<MANAGED_APP_ID>",
"breakout": true
}
],
"success": true,
"errors": [],
"messages": []
}
```

Take note of the `"id"` value for the application that want to delete.

2. Send a [`DELETE` request](/api/resources/magic_transit/subresources/apps/methods/delete/) to delete an application from the breakout traffic policy.

```bash
curl --request DELETE \
https://api.cloudflare.com/client/v4/accounts/{account_id}/magic/sites/{site_id}/app_configs/{id} \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"
```

```json output
{
"result": {
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"site_id": "023e105f4ecef8ad9ca31a8372d0c353",
"managed_app_id": "<MANAGED_APP_ID>",
"breakout": true
},
"success": true,
"errors": [],
"messages": []
}
```

</TabItem> </Tabs>

## WARP traffic

<Render file="connector/app-aware-policies/warp-traffic" />
import { Render } from "~/components";

<Render file="connector/app-aware-policies/breakout-prioritized" params={{
magicWord: "breakout",
featureName: "Breakout traffic",
whatHappensApp: "will now go directly to the Internet and bypass Cloudflare's filtering",
jsonType: "breakout"
}} />
Original file line number Diff line number Diff line change
Expand Up @@ -6,155 +6,11 @@ description: Prioritized traffic allows you to define which applications are
processed first by Magic WAN Connector.
---

import { Render, TabItem, Tabs } from "~/components";

Prioritized traffic allows you to define which applications Magic WAN Connector should process first. Applications not in the list will be queued behind prioritized traffic.

Similarly to breakout traffic, prioritized traffic also works via DNS requests inspection.

:::caution
Prioritized traffic will not work for applications that use DNS-over-HTTPS.
:::

## Add an application

You need to configure Prioritized traffic for each of your existing sites, as it is a per-site configuration.

<Tabs syncKey="dashPlusAPI"> <TabItem label="Dashboard">

<Render
file="connector/app-aware-policies/add-app"
params={{ featureName: "Prioritized traffic" }}
/>

6. Select one or more applications that should take precedence over other traffic. You can also use the search box.
7. Select **Add applications**.

The traffic for the applications you chose are now processed first by Connector.

</TabItem> <TabItem label="API">

<Render file="connector/account-id-api-key" />

1. Send a [`GET` request](/api/resources/magic_transit/subresources/apps/methods/list/) to list the applications associated with an account.

Example:

```bash
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/magic/apps \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"
```

```json output
{
"result": [
{
"managed_app_id": "<MANAGED_APP_ID>",
"name": "<APP_NAME>",
"type": "<TYPE_OF_APP>",
"hostnames": ["<HOSTNAME1.com>", "<HOSTNAME2.info>"]
}
],
"success": true,
"errors": [],
"messages": []
}
```

Take note of the `"managed_app_id"` value for any application you want to configure.

2. Send a [`POST` request](/api/resources/magic_transit/subresources/apps/methods/create/) to add new apps the priority traffic policy.

Example:

```bash
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/magic/sites/{site_id}/app_configs \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
"managed_app_id": "<MANAGED_APP_ID>",
"priority": 1
}'
```

```json output
{
"result": {
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"site_id": "023e105f4ecef8ad9ca31a8372d0c353",
"managed_app_id": "<MANAGED_APP_ID>",
"breakout": true
},
"success": true,
"errors": [],
"messages": []
}
```

</TabItem> </Tabs>

## Delete an application

<Tabs syncKey="dashPlusAPI"> <TabItem label="Dashboard">

<Render
file="connector/app-aware-policies/delete-app"
params={{ featureName: "Prioritized traffic" }}
/>

</TabItem> <TabItem label="API">

1. Send a [`GET` request](/api/resources/magic_transit/subresources/apps/methods/list/) to list the applications associated with a site.

Example:

```bash
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/magic/sites/{site_id}/app_configs \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"
```

```json output
{
"result": [
{
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"site_id": "023e105f4ecef8ad9ca31a8372d0c353",
"managed_app_id": "<MANAGED_APP_ID>",
"breakout": true
}
],
"success": true,
"errors": [],
"messages": []
}
```

Take note of the `"id"` value for the application that want to delete.

2. Send a `DELETE` request [using the API](/api/resources/magic_transit/subresources/apps/methods/delete/) to delete an application from the breakout traffic policy.

```bash
curl --request DELETE \
https://api.cloudflare.com/client/v4/accounts/{account_id}/magic/sites/{site_id}/app_configs/{id} \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"
```

```json output
{
"result": {
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"site_id": "023e105f4ecef8ad9ca31a8372d0c353",
"managed_app_id": "<MANAGED_APP_ID>",
"breakout": true
},
"success": true,
"errors": [],
"messages": []
}
```

</TabItem> </Tabs>
import { Render } from "~/components";

<Render file="connector/app-aware-policies/breakout-prioritized" params={{
magicWord: "prioritized",
featureName: "Prioritized traffic",
whatHappensApp: "is now processed first by Connector",
jsonType: "priority"
}} />

This file was deleted.

Loading