← Cloudflare DNS / dns / zone-setups / partial-setup
Překlad DNS
Když máte částečnou zónu (CNAME setup), Cloudflare zpracovává DNS záznamy trochu jinak než u primárních zón (úplné nastavení), aby interně přeložil origin server, na který se odesílají proxované HTTP požadavky.
Záznamy ve stejné zóně
Když vytvoření nového DNS záznamu v částečné zóně Cloudflare automaticky kontroluje, zda některý z vašich CNAME záznamů neukazuje na existující A, AAAA nebo CNAME záznamy ve stejné zóně.
Cloudflare by například zobrazil varování, pokud byste ve své částečné zóně měli následující záznamy:
sub1.partialzone.com CNAME sub2.partialzone.com
sub2.partialzone.com A 192.0.2.1Protože Cloudflare obsahuje jak záznam CNAME, tak jeho cíl, DNS překlad odešle příchozí HTTP požadavky na sub1.partialzone.com k originu 192.0.2.1.
To může způsobit problémy, pokud už máte DNS záznamy pro sub2.partialzone.com u vašeho autoritativního poskytovatele DNS. Tyto záznamy mohou odkazovat na 192.0.2.4, jinou adresu IP nebo jinou doménu, ale protože Cloudflare obsahuje počáteční záznam i cíl, nikdy se u vašeho autoritativního poskytovatele DNS nedotazuje na záznam pro sub2.partialzone.com.
flowchart TD
accTitle: DNS resolution flow with CNAME target in same partial zone
A[Request to <code>sub1.partialzone.com</code>] --> B[<code>CNAME</code> record for <code>sub1.partialzone.com</code> to <code>sub2.partialzone.com</code>]
subgraph Cloudflare
B --> C[<code>A</code> record for <code>sub2.partialzone.com</code> to <code>192.0.2.1</code>]
end
C --> D[<code>192.0.2.1</code>]
subgraph Authoritative DNS
E[<code>A</code> record for <code>sub2.partialzone.com</code> to <code>192.0.2.4</code>]
end
Pokud se této situaci vyhnete, tedy nemáte cíl záznamu CNAME ve vaší dílčí zóně, toto rozlišení DNS by proběhlo jinak.
flowchart TD
accTitle: DNS resolution flow with CNAME target not in partial zone
A[Request to <code>sub1.partialzone.com</code>] --> B[<code>CNAME</code> record for <code>sub1.partialzone.com</code> to <code>sub2.partialzone.com</code>]
B --> C[<code>A</code> record for <code>sub2.partialzone.com</code> to <code>192.0.2.4</code>]
C --> D[<code>192.0.2.4</code>]
subgraph Cloudflare
B
end
subgraph Authoritative DNS
C
end
Záznamy odkazující na částečnou zónu ve stejném účtu
Můžete také vytvoření CNAME záznamu v zóně (částečné nebo úplné), který ukazuje na záznam v jiné částečné zóně v rámci vašeho účtu.
V takovém případě Cloudflare vždy přeloží cíl CNAME na základě hodnoty u vašeho autoritativního poskytovatele DNS pro cílovou zónu CNAME.
flowchart TD
accTitle: DNS resolution flow with CNAME target in a zone within the same account
A[Request to <code>www\.alice.com</code>] --> B[<code>CNAME</code> record for <code>www\.alice.com</code> to <code>www\.partialzone.com</code>]
B --> C[<code>A</code> record for <code>www\.partialzone.com</code> to <code>192.0.2.4</code>]
C --> D[<code>192.0.2.4</code>]
subgraph Cloudflare account
subgraph Cloudflare zone 1
B
end
subgraph Cloudflare zone 2
E[<code>A</code> record for <code>www\.partialzone.com</code> to <code>203.0.113.1</code>]
end
end
subgraph Authoritative DNS
C
end
Autoritativní DNS směřuje na cdn.cloudflare.net
Uvažujte následující scénář:
- Cílová zóna (v tomto příkladu zóna Cloudflare 2) je částečná zóna a DNS záznam v této částečné zóně je proxovaný.
- Záznam DNS na autoritativním serveru DNS ukazuje na
cdn.cloudflare.net
Pokud je takové nastavení zavedené, subdoména (www.partialzone.com v tomto příkladu) se přeloží na proxy IP adresu Cloudflare, což nakonec skončí chybou. Zvažte použití vlastní názvy hostitelů a O2O nastavení místo toho.
flowchart TD
accTitle: DNS resolution flow with CNAME target in a zone within the same account and auth DNS pointing to cdn.cloudflare.net
A[Request to <code>www\.alice.com</code>] --> B[<code>CNAME</code> record for <code>www\.alice.com</code> to <code>www\.partialzone.com</code>]
B --> C[<code>CNAME</code> record for <code>www\.partialzone.com</code> to <code>www\.partialzone.com.cdn.cloudflare.net</code>]
C --> D[<code>Cloudflare proxy IP</code>]
subgraph Cloudflare account
subgraph Cloudflare zone 1
B
end
subgraph Cloudflare zone 2
E[Proxied <code>A</code> record for <code>www\.partialzone.com</code> to <code>203.0.113.1</code>]
end
end
subgraph Authoritative DNS
C
end