| Тип | Название | Content | TTL |
|---|---|---|---|
CNAME |
domain.test |
external-origin.test |
3600 |
← Cloudflare DNS / dns / cname-flattening
Пример диаграммы
При использовании CNAME flattening Cloudflare возвращает IP-адрес вместо целевого имени хоста, на которое указывает запись CNAME. Это обеспечивает поддержку ряда функций и повышает производительность и гибкость, как описано в Концептуальная страница о CNAME flattening.
Общее представление о шагах CNAME flattening даёт диаграмма ниже.
Пример сценария использования
domain.testэто зона в Cloudflare со следующей записью CNAME:
external-origin.testэто зона у другого DNS-провайдера со следующей записью A:
| Тип | Название | Content | TTL |
|---|---|---|---|
A |
external-origin.test |
192.0.2.1 |
7200 |
В этом случае процесс ответа на запросы для domain.test напрямую с IP-адресом можно представить следующей диаграммой:
flowchart BT
accTitle: CNAME flattening diagram
accDescr: Diagram of CNAME flattening process when there is a request for a domain in Cloudflare and the zone has a CNAME record at apex that points to an external A record.
A((User)) <--query for <code>domain.test</code>--> B[Resolver] --> C
C["Question:
<code>domain.test IN A</code>"]
subgraph Y[Cloudflare DNS]
direction RL
D{{Look up record}} --> G["Answer:
<code>domain.test 3600 CNAME external-origin.test</code>
This means that <code>domain.test</code> is a <code>CNAME</code> at the zone apex.
Forced <code>CNAME</code> flattening is enabled."] --- H{{Resolve <code>external-origin.test</code>}}
K{{Append answer with overwritten query name}} --> L["Answer:
<code>domain.test 7200 IN A 192.0.2.1</code>"] --- M{Proxy status}
M --Proxied--> O["Answer:
<code>domain.test 300 IN A {$Cloudflare IP 1}</code>
<code>domain.test 300 IN A {$Cloudflare IP 2}</code>"]
M --DNS only--> N["Answer:
<code>domain.test 3600 IN A 192.0.2.1</code>"]
end
subgraph Z [External DNS provider]
J["Answer:
<code>external-origin.test 7200 IN A 192.0.2.1</code>"]
end
C --> D
H --- J --- K
O --> B
N --> B
Что стоит учесть
- Если запись CNAME проксирована в Cloudflare, ответ состоит из нескольких IP-адреса Cloudflare ↗ и её время жизни (TTL) установлено на
300. - Если запись CNAME в Cloudflare не проксирована, ответ после CNAME flattening состоит из IP-адреса, полученного от внешнего провайдера DNS, а его TTL соответствует меньшему из значений TTL внешней записи и записи CNAME в Cloudflare.