← Cloudflare One / cloudflare-one / traffic-policies / dns-policies
Maximální DNS TTL
Nastavte maximální dobu životnosti (TTL) pro odpovědi DNS vrácené službou Gateway. Pokud TTL zdrojového záznamu DNS překročí nastavené maximum, Gateway ho omezí na vámi zadanou hodnotu. Nižší hodnoty zajistí, že se změny zásad DNS, například zablokování nově zjištěné škodlivé domény, projeví u všech klientů rychleji, ovšem za cenu vyššího objemu dotazů kvůli omezenému využití mezipaměti.
Maximální limit TTL se vztahuje pouze na DNS odpovědi odvozené z upstreamu pro povolené dotazy. Odpovědi generované Gateway (bloky, přepsání, odpovědi safe-search) tento limit neovlivňuje, protože již používají krátké výchozí TTL.
Jak to funguje
Gateway uplatňuje vrstvenou hierarchii TTL. Přednost má nejkonkrétnější nastavení:
- Pokud má DNS lokalita přepsání specifické pro danou lokalitu, použije se tato hodnota.
- Pokud lokalita dědí své nastavení, použije se maximální TTL na úrovni účtu.
- Pokud na žádné úrovni není nakonfigurováno maximální TTL, hodnoty TTL z upstreamu projdou beze změny.
Platný rozsah pro libovolnou maximální hodnotu TTL je 60 až 36,000 sekund (1 minuta až 10 hodin).
Konfigurace maximálního TTL na úrovni účtu
Nastavení na úrovni účtu platí pro všechny DNS lokality, které nemají vlastní přepsání na úrovni lokality.
- V Zero Trust ↗, přejděte na Zásady provozu > Nastavení provozu.
- V části Proxy a kontrola, najděte Konfigurace doby životnosti (TTL) pro překlad DNS sekce.
- Zadejte hodnotu v sekundách (mezi 60 a 36,000).
- Vyberte Save.
curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/gateway/configuration \
--header "Authorization: Bearer {api_token}" \
--header "Content-Type: application/json" \
--data '{
"settings": {
"max_ttl_secs": 3600
}
}'Chcete-li odstranit limit na úrovni účtu (a nechat hodnoty TTL z upstreamu projít beze změny), vynechte max_ttl_secs pole, nebo je nastavte na null.
Nakonfigurujte maximální TTL pro jednotlivé lokality
Každý Umístění DNS může přepsat nastavení na úrovni účtu. Nastavení pro jednotlivé lokality podporuje tři režimy:
| Režim | Chování |
|---|---|
Respektovat nastavení na úrovni účtu (inherit) |
Používá hodnotu nastavenou na úrovni účtu. To je výchozí nastavení pro nové lokality. |
Nenastavujte maximální hodnotu (disabled) |
Vypíná maximální limit TTL pro toto umístění, i když je nakonfigurován na úrovni účtu. Hodnoty TTL z nadřazeného serveru se předávají beze změny. |
Custom (override) |
Nastavuje maximální TTL specifické pro lokalitu, které přepisuje hodnotu na úrovni účtu. Vyžaduje ttl_secs hodnota mezi 60 a 36,000. |
- V Zero Trust ↗, přejděte na Sítě > Resolvery a proxy > Lokality DNS.
- Vyberte lokalitu, nebo vytvořte novou.
- V DNS Endpointy kartě najděte Konfigurace doby životnosti (TTL) pro toto umístění sekce.
- Zvolte jednu z níže uvedených:
- Respektovat nastavení na úrovni účtu: dědí horní limit TTL na úrovni účtu.
- Nenastavujte maximální hodnotu: deaktivuje horní limit TTL pro toto umístění.
- Custom: zadejte hodnotu TTL v sekundách.
- Vyberte Save.
# Inherit account-level setting (default)
curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/gateway/locations/{location_id} \
--header "Authorization: Bearer {api_token}" \
--header "Content-Type: application/json" \
--data '{
"max_ttl": {
"mode": "inherit"
}
}'# Disable max TTL for this location
curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/gateway/locations/{location_id} \
--header "Authorization: Bearer {api_token}" \
--header "Content-Type: application/json" \
--data '{
"max_ttl": {
"mode": "disabled"
}
}'# Override with a custom value
curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/gateway/locations/{location_id} \
--header "Authorization: Bearer {api_token}" \
--header "Content-Type: application/json" \
--data '{
"max_ttl": {
"mode": "override",
"ttl_secs": 3600
}
}'Pole protokolu DNS
Když je aktivní maximální TTL, v protokolech Gateway DNS se zobrazí dvě další pole:
| Pole | Popis |
|---|---|
upstream_record_ttls |
Původní hodnoty TTL z odpovědi upstreamového serveru DNS, před použitím libovolného omezení. |
applied_max_ttl |
Maximální hodnota TTL, kterou Gateway na odpověď použila. Pokud nebyl použit žádný limit, toto pole chybí. |
Tato pole jsou vidět ve výběru sloupců protokolů DNS pod Podrobnosti odpovědi DNS skupiny v dashboardu a v datových sadách Logpush.