@@ -10,59 +10,55 @@ flowchart TB
1010 accTitle: Gateway order of enforcement
1111 accDescr: Flowchart describing the order of enforcement for Gateway policies.
1212
13- %% In with user traffic
14- start(["Traffic"])-->dns0[/"DNS query"/]-->dns1
15- start-->http0{{"HTTP(S) request on port 80 or 443?"}}
16- http0-- "Yes" -->http1
17- http0-- "No" -->network0
18-
19- %% DNS policies
20- subgraph DNS
21- dns1["DNS policies"]
22- style DNS text-align:left
23- dns1-- "Resolved by" -->dns2["1.1.1.1"]
24- dns1-.->dns3
25-
26- %% DNS resolution
27- subgraph Resolution
13+ subgraph Resolution["Resolution"]
2814 dns2["1.1.1.1"]
29- dns3["Resolver policies <br />(Enterprise users only)"]-- "Resolved by" -->dns4["Custom resolver"]
30- end
31-
32- end
33- dns2["1.1.1.1"]----->internet
34- dns4----->internet
35- dns4-.->cloudflare["Private network services <br />(Cloudflare Tunnel, Magic WAN, etc.)"]
36-
37-
38- %% Proxied by Gateway
39- subgraph Proxy
40-
41- %% HTTP policies
42- subgraph HTTP
43- http1{{"Do Not Inspect policies"}}
44- http1-."Inspect".->http2["Isolate policies <br />(with add-on)"]
45- http2-->http3["Allow, Block, Do Not Scan policies"]
46- end
47-
48- http1-- "Do Not Inspect" -->network0
49- http3-->network0
50- network0[/"Network connections"/]-->network1
51-
52- %% Network policies
53- subgraph Network
54- network1["Network policies"]
55- end
56- end
57-
58- %% Egress
59- subgraph Egress
60- network1-.->egress1["Egress policies <br />(Enterprise users only)"]
61- end
62-
63- %% Finish
64- network1-- "Egress with Cloudflare IP" -->internet([Internet])
65- egress1-- "Egress with dedicated IP" -->internet
15+ dns4["Custom resolver"]
16+ dns3["Resolver policies <br>(Enterprise users only)"]
17+ end
18+ subgraph DNS["DNS"]
19+ dns1["DNS policies"]
20+ Resolution
21+ end
22+ subgraph HTTP["HTTP"]
23+ http1{{"Do Not Inspect policies"}}
24+ http2["Isolate policies <br>(with add-on)"]
25+ http3["Allow, Block, Do Not Scan, Quarantine, Redirect policies"]
26+ https["HTTP (port 80) or<br>HTTPS (port 443)?"]
27+ end
28+ subgraph Network["Network"]
29+ network1["Network policies"]
30+ end
31+ subgraph Proxy["Proxy"]
32+ HTTP
33+ Network
34+ Egress["Egress"]
35+ end
36+ subgraph Egress["Egress"]
37+ egress1["Egress policies <br>(Enterprise users only)"]
38+ end
39+ start(["Traffic"]) --> dns0[/"DNS query"/] & http0["Network connections"]
40+ dns0 --> dns1
41+ dns1 -- Resolved by --> dns2
42+ dns1 -.-> dns3
43+ dns3 -- Resolved by --> dns4
44+ dns2 -----> internet(["Internet"])
45+ dns4 -----> internet
46+ dns4 -.-> cloudflare["Private network services <br>(Cloudflare Tunnel, Magic WAN, etc.)"]
47+ http1 -. Inspect .-> http2
48+ http2 --> http3
49+ network1 -.-> egress1
50+ http0 --> n1["Magic Firewall"]
51+ n1 --> n2["Check for origin availability (TCP SYN)"]
52+ n2 --> network1
53+ http3 --> internet
54+ http1 -- Do Not Inspect --> internet
55+ egress1 --> https
56+ https -- HTTPS --> http1
57+ https -. HTTP .-> http2
58+
59+ https@{ shape: hex}
60+ http0@{ shape: lean-r}
61+ style DNS text-align:left
6662```
6763
6864## Priority between policy builders
0 commit comments