INTEGRITY Dokumentace

Cloudflare HTTP headers

Hlavičky požadavku

Cloudflare předává veškeré hlavičky HTTP požadavků vašemu původnímu webovému serveru a přidává další hlavičky uvedené níže.

Accept-Encoding

U příchozích požadavků bude hodnota této hlavičky vždy nastavena na accept-encoding: br, gzip. Pokud klient nastavil jinou hodnotu, například accept-encoding: deflate, bude přepsána a původní hodnota bude k dispozici v request.cf.clientAcceptEncoding.

CF-Connecting-IP

CF-Connecting-IP poskytuje origin webovému serveru IP adresu klienta, který se připojuje k Cloudflare. Tato hlavička se odesílá pouze v provozu z edge serverů Cloudflare na váš origin webový server.

Pokyny k logování původní IP adresy návštěvníka najdete v Obnovení původních IP adres návštěvníků.

Pokud si nepřejete dostávat CF-Connecting-IP hlavičku nebo jakoukoli hlavičku HTTP, která může obsahovat IP adresu návštěvníka, povolit Odebrání hlaviček s IP adresou návštěvníka Managed Transform.

CF-Connecting-IP v dílčích požadavcích Workeru

U subrequestů Worker v rámci stejné zóny je hodnota CF-Connecting-IP odráží hodnotu x-real-ip (IP adresa klienta). x-real-ip může uživatel změnit ve svém skriptu Workeru.

U meziozónových subrequestů z jedné zóny Cloudflare do druhé CF-Connecting-IP hodnota bude nastavena na IP adresu klienta Workeru '2a06:98c0:3600::103' z bezpečnostních důvodů.

U dílčích požadavků Worker směřujících do zóny, která nepatří zákazníkovi Cloudflare, CF-Connecting-IP a x-real-ip hlavičky budou obě odrážet IP adresu klienta, přičemž pouze x-real-ip hlavičku lze změnit.

Když se nespustí žádný podřízený požadavek Worker, cf-connecting-ip odráží IP adresu klienta a x-real-ip hlavička je odstraněna.

CF-Connecting-IPv6

Cloudflare poskytuje bezplatná podpora IPv6 na všechny domény bez nutnosti další konfigurace nebo hardwaru. Pro podporu migrace na IPv6 nabízí společnost Cloudflare Pseudo IPv4 poskytuje službu překladu IPv6 na IPv4 pro všechny domény Cloudflare.

Pokud Pseudo IPv4 je nastaveno na Overwrite Headers - Cloudflare přepíše stávající Cf-Connecting-IP a X-Forwarded-For hlaviček pseudoadresou IPv4 a zároveň zachová skutečnou adresu IPv6 v CF-Connecting-IPv6 hlavička.


CF-EW-Via

Tato hlavička slouží k detekci smyček, podobně jako CDN-Loop hlavička.

CF-Pseudo-IPv4

Pokud Pseudo IPv4 je nastaveno na Add Header - Cloudflare automaticky přidává CF-Pseudo-IPv4 hlavičku adresou IPv4 třídy E vytvořenou hašováním původní adresy IPv6.

True-Client-IP (pouze v plánu Enterprise)

True-Client-IP poskytuje origin webovému serveru původní IP adresu klienta. True-Client-IP je dostupné pouze v plánu Enterprise. V příkladu níže 203.0.113.1 je původní IP adresa návštěvníka. Například: True-Client-IP: 203.0.113.1

Neexistuje žádný rozdíl mezi True-Client-IP a CF-Connecting-IP hlaviček kromě názvu hlavičky. Někteří zákazníci s plánem Enterprise, kteří používají starší zařízení, potřebují True-Client-IP aby nebylo nutné aktualizovat firewally nebo load balancery kvůli čtení vlastního názvu hlavičky.

Chcete-li přidat True-Client-IP HTTP hlavičku k požadavkům, povolit Přidání hlavičky "True-Client-IP" Managed Transform.

Pokud si nepřejete dostávat True-Client-IP hlavičku nebo jakoukoli hlavičku HTTP, která může obsahovat IP adresu návštěvníka, povolit Odebrání hlaviček s IP adresou návštěvníka Managed Transform.

X-Forwarded-For

X-Forwarded-For uchovává adresy proxy serveru i původní IP adresu návštěvníka. Pokud neexistovala žádná X-Forwarded-Forhlavička v požadavku odeslaném Cloudflare, X-Forwarded-For má stejnou hodnotu jako CF-Connecting-IP hlavička.

Pokud je například původní IP adresa návštěvníka 203.0.113.1 a požadavek odeslaný Cloudflare neobsahuje X-Forwarded-For hlavičku, Cloudflare poté odešle X-Forwarded-For: 203.0.113.1 k originu.

Pokud naopak X-Forwarded-For hlavička byla v požadavku na Cloudflare již přítomna, Cloudflare k ní připojí IP adresu HTTP proxy, která se ke Cloudflare připojuje. Pokud je například původní IP adresa návštěvníka 203.0.113.1 a požadavek prochází přes dvě proxy: proxy A s IP adresou 198.51.100.101 a proxy B s IP adresou 198.51.100.102 než se proxují na Cloudflare, Cloudflare pak odešle X-Forwarded-For: 203.0.113.1,198.51.100.101,198.51.100.102 k originu. Proxy A připojí původní IP adresu návštěvníka (203.0.113.1) na X-Forwarded-For než požadavek proxuje na proxy B, která následně připojí IP adresu Proxy A (198.51.100.101) na X-Forwarded-For než požadavek proxuje na Cloudflare. Nakonec Cloudflare připojí IP adresu proxy B (198.51.100.102) na X-Forwarded-For než požadavek proxuje na origin.

Pokud nechcete přijímat IP adresu návštěvníka (a IP adresy dalších mezilehlých proxy) v X-Forwarded-For hlavičku nebo jakoukoli hlavičku HTTP, která může obsahovat IP adresu návštěvníka, povolit Odebrání hlaviček s IP adresou návštěvníka Managed Transform. Pro X-Forwarded-For hlavičku konkrétně, tato Managed Transform odstraní IP adresu návštěvníka z hodnoty hlavičky pouze v případě, že Cloudflare obdrží požadavek proxovaný alespoň jednou další CDN. V takovém případě Cloudflare zachová pouze IP adresu poslední proxy.

Vezmeme-li předchozí příklad, kde byl požadavek proxován dvakrát (proxy A a B) před tím, než prošel přes Cloudflare, s Odebrání hlaviček s IP adresou návštěvníka zapnuté, Cloudflare by odeslal X-Forwarded-For: 198.51.100.102 k originu a zachová pouze IP adresu proxy B (poslední proxy před Cloudflare). Další informace naleznete v IP adresa návštěvníka v x-forwarded-for hlavička HTTP pro další podrobnosti.

X-Forwarded-Proto

X-Forwarded-Proto slouží k identifikaci protokolu (HTTP nebo HTTPS), který návštěvník použil k připojení ke Cloudflare. Výchozím protokolem je https, pokud návštěvník nezvolil jiný režim šifrování.

U příchozích požadavků bude hodnota této hlavičky nastavena na protokol, který klient použil (http nebo https). Pokud klient nastavil jinou hodnotu, bude přepsána.

Cf-Ray

Cf-Ray hlavička (jinak také známá jako Ray ID) je hašovaná hodnota, která kóduje informace o datovém centru a požadavku návštěvníka. Například: Cf-Ray: 230b030023ae2822-SJC.

Hlavička Cf-Ray identifikuje datacentrum, které požadavek zpracovává, pokud je zobrazena jako hlavička odpovědi. Je reprezentována třípísmenným kódem odpovídajícím poloze daného datacentra.

Hlavička Cf-Ray se odesílá také na upstream origin servery a může být upravena tak, aby odrážela připojené datacentrum. K tomu dochází, když je požadavek směrován přes Argo Smart Routing nebo Argo Tiered Caching. V takových případech třípísmenný kód v hlavičce Cf-Ray označuje datové centrum, které se připojuje k origin serveru, nikoli vstupní datové centrum.

Přidejte Cf-Ray hlavičku do protokolů vašeho origin webového serveru pro porovnání požadavků proxovaných přes Cloudflare s požadavky ve vašich serverových protokolech.

Zákazníci s plánem Enterprise mohou zobrazit všechny požadavky prostřednictvím Cloudflare Logs, včetně dat souvisejících s příchozím datovým centrem.

CF-IPCountry

CF-IPCountry hlavička obsahuje dvouznakový kód země, ze které návštěvník pochází.

Kromě Kódy podle normy ISO-3166-1 alpha-2, Cloudflare používá následující speciální kódy zemí:

Chcete-li přidat tuto hlavičku k požadavkům spolu s dalšími hlavičkami HTTP obsahujícími informace o poloze IP adresy návštěvníka, povolit Přidání hlaviček o poloze návštěvníka Managed Transform.

CF-Visitor

V současnosti je tato hlavička objekt JSON obsahující pouze jeden klíč s názvem scheme. Hlavička bude buď HTTP, nebo HTTPS, a je relevantní pouze v případě, že potřebujete v nastavení Cloudflare povolit Flexible SSL. Například: CF-Visitor: { \"scheme\":\"https\"}.

CDN-Loop

CDN-Loop umožňuje Cloudflare určit, kolikrát může požadavek vstoupit do sítě Cloudflare, než bude zablokován jako zacyklený požadavek. Například: CDN-Loop: cloudflare.

CF-Connecting-O2O

Pokud SSL for SaaS se používá pro zóna vlastněná poskytovatelem SaaS, nastaví se hlavička HTTP na cf-connecting-o2o: 1.

CF-Worker

CF-Worker hlavička požadavku se přidává do podpožadavku edge Workeru a identifikuje hostitele, který podpožadavek vytvořil. Například: CF-Worker: example.com.

Můžete přidat CF-Worker hlavičku v protokolech serveru podobně, jako přidáváte CF-RAY hlavičku. Chcete-li to provést, přidejte $http_cf_worker v souboru formátu protokolu: log_format cf_custom "CF-Worker:$http_cf_worker"'

CF-Worker se přidává do všech dílčích požadavků Workeru odeslaných přes fetch(). Je nastaveno na název zóny, které patří Worker vytvářející podpožadavek. Pokud je například skript Worker na trase pro foo.example.com/* z example.com budou mít všechny dílčí požadavky s hlavičkou:

CF-Worker: example.com

Účelem této hlavičky je umožnit příjemcům (například origin serverům, load balancerům nebo dalším Workerům) rozpoznat, filtrovat a směrovat provoz generovaný Workery v konkrétních zónách.

Připojení

U příchozích požadavků bude hodnota této hlavičky vždy nastavena na Keep-Alive. Pokud klient nastavil jinou hodnotu, například close, bude přepsána. Totéž platí i v případě, že se klient připojuje pomocí HTTP/2 nebo HTTP/3.

Co zvážit při používání Spectrum

Při používání Spectrum s aplikací TCP nejsou tyto hlavičky na origin serveru vidět, protože jde o hlavičky HTTP. Pokud je chcete ve své aplikaci využít, máte dvě možnosti:

Hlavičky odpovědi

Cloudflare z odpovědi odeslané zpět návštěvníkovi odstraní některé hlavičky HTTP a přidá některé hlavičky HTTP specifické pro Cloudflare.

Odebrané hlavičky odpovědi

Cloudflare předává všechny hlavičky HTTP z odpovědi původního serveru zpět návštěvníkovi, s výjimkou následujících hlaviček:

Přidané hlavičky odpovědi

Cloudflare přidává níže uvedené HTTP hlavičky do odpovědi odeslané návštěvníkovi.

Cf-Ray

Cf-Ray hodnota vrácená návštěvníkovi bude stejná Cf-Ray hodnota, která byla odeslána na origin server.

Cf-Cache-Status

Seznam všech možných Cf-Cache-Status hodnot je obsažen v Odpovědi mezipaměti Cloudflare.