← Cloudflare Pages / pages / configuration
Hlavičky
Vlastní hlavičky
Výchozí hlavičky odpovědí u statických souborů lze přepsat, odebrat nebo doplnit vytvořením prostého textového souboru s názvem _headers bez přípony souboru v adresáři statických souborů vašeho projektu. Tento soubor se sám o sobě jako statický soubor neobslouží, ale Cloudflare Pages jej zpracují a jeho pravidla se použijí na odpovědi se statickými soubory.
Pokud používáte framework, budete mít často adresář s názvem public/ nebo static/, a obvykle obsahuje assety připravené k nasazení, jako jsou favicony, robots.txt soubory a manifesty webu. Tyto soubory se během sestavení zkopírují do výsledného výstupního adresáře, takže je to ideální místo pro vytváření vašich _headers soubor. Pokud nepoužíváte framework, _headers soubor můžete vložit přímo do výstupní adresář sestavení.
Hlavičky definované v _headers soubor přepíší to, co Cloudflare běžně odesílá.
Přidání hlavičky
Pravidla pro hlavičky se definují ve víceřádkových blocích. První řádek bloku obsahuje URL nebo vzor URL, na který se mají hlavičky pravidla použít. Na dalším řádku musí následovat odsazený seznam názvů a hodnot hlaviček:
[url]
[name]: [value]Použití absolutních URL je podporováno, mějte však na paměti, že absolutní URL musí začínat https a zadání portu není podporováno. _headers pravidla při porovnávání s příchozím požadavkem ignorují jeho port a protokol. Například pravidlo jako https://example.com/path by odpovídalo požadavkům na other://example.com:1234/path.
Můžete definovat libovolný počet [name]: [value] párů na dalších řádcích. Například:
# This is a comment
/secure/page
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Referrer-Policy: no-referrer
/static/*
Access-Control-Allow-Origin: *
X-Robots-Tag: nosnippet
https://myproject.pages.dev/*
X-Robots-Tag: noindexPříchozí požadavek, který odpovídá vzorům URL více pravidel, zdědí hlavičky všech těchto pravidel. Při použití předchozího _headers soubor, budou mít následující požadavky přiřazené tyto hlavičky:
| Request URL | Hlavičky |
|---|---|
https://custom.domain/secure/page |
X-Frame-Options: DENY X-Content-Type-Options: nosniff Referrer-Policy: no-referrer |
https://custom.domain/static/image.jpg |
Access-Control-Allow-Origin: * X-Robots-Tag: nosnippet |
https://myproject.pages.dev/home ↗ |
X-Robots-Tag: noindex |
https://myproject.pages.dev/secure/page ↗ |
X-Frame-Options: DENY X-Content-Type-Options: nosniff Referrer-Policy: no-referrer X-Robots-Tag: noindex |
https://myproject.pages.dev/static/styles.css ↗ |
Access-Control-Allow-Origin: * X-Robots-Tag: nosnippet, noindex |
Můžete definovat až 100 pravidel pro hlavičky. Každý řádek v _headers soubor má limit 2,000 znaků. Do tohoto limitu se počítá celý řádek včetně mezer, názvu hlavičky a hodnoty.
Pokud se hlavička dvakrát použije v _headers soubor, hodnoty se spojí pomocí čárky jako oddělovače.
Odpojit hlavičku
Výchozí hlavičku nebo hlavičku přidanou obecnějším pravidlem můžete odstranit tak, že před její název vložíte vykřičník a mezeru (! ).
/*
Content-Security-Policy: default-src 'self';
/*.jpg
! Content-Security-PolicyShoda cesty
Stejné funkce porovnávání URL adres, které _redirects nabízí, je také dostupné pro _headers soubor. Mějte však na paměti, že přesměrování se uplatňují před hlavičkami, takže pokud požadavek odpovídá jak přesměrování, tak hlavičce, má přednost přesměrování.
Splaty
Při porovnávání je splat vzor, který se označuje hvězdičkou (*) tento vzor hladově porovná všechny znaky. V URL smíte použít jen jeden splat.
Nalezenou hodnotu lze v hodnotě hlavičky odkázat jako :splat zástupný symbol.
Zástupné symboly
Zástupný symbol lze definovat pomocí :placeholder_name. Dvojtečka (:) následovaný písmenem označuje začátek zástupného symbolu a název zástupného symbolu, který následuje, smí obsahovat pouze alfanumerické znaky a podtržítka (:[A-Za-z]\w*). Na každý pojmenovaný zástupný symbol lze odkázat jen jednou. Zástupné symboly odpovídají všem znakům kromě oddělovače, kterým je v případě hostitele tečka (.) nebo lomítko (/) a smí to být pouze lomítko (/) pokud je součástí cesty.
Podobně lze shodnutou hodnotu použít v hodnotách hlaviček pomocí :placeholder_name.
/movies/:title
x-movie-name: You are watching ":title"Příklady
Cross-Origin Resource Sharing (CORS)
Chcete-li umožnit jiným doménám načítat všechny statické assety z vašeho projektu Pages, můžete následující přidat do _headers soubor:
/*
Access-Control-Allow-Origin: *Tím se použije Access-Control-Allow-Origin hlavičku ke každé příchozí URL adrese. Chcete-li být restriktivnější, můžete definovat vzor URL adresy, který se použije na *.pages.dev subdoménu, která pak povoluje přístup pouze ze své staging subdoména větve:
https://:project.pages.dev/*
Access-Control-Allow-Origin: https://staging.:project.pages.dev/Zabraňte zobrazování adres URL workers.dev ve výsledcích vyhledávání
Google ↗ a další vyhledávače často podporují X-Robots-Tag hlavičku, aby prohledávačům sdělil, jak se má indexovat váš web.
Chcete-li například zabránit tomu, aby váš *.pages.dev a *.*.pages.dev URL adres před indexováním přidejte do svého _headers soubor:
https://:project.pages.dev/*
X-Robots-Tag: noindex
https://:version.:project.pages.dev/*
X-Robots-Tag: noindexNakonfigurujte vlastní chování mezipaměti prohlížeče
Pokud máte složku s fingerprintovanými assets (assets, které mají v názvu souboru hash), můžete v prohlížeči nastavit agresivnější ukládání do mezipaměti a zlepšit tak výkon pro opakované návštěvníky:
/static/*
Cache-Control: public, max-age=31556952, immutablePosilte zabezpečení aplikace
Clickjackingu můžete zabránit tím, že prohlížečům sdělíte, aby vaši aplikaci nevkládaly do jiné (například pomocí <iframe>) s X-Frame-Options ↗ hlavička.
X-Content-Type-Options: nosniff ↗ brání prohlížečům interpretovat odpověď jako jiný content-type, než jaký je definovaný pomocí Content-Type hlavička.
Referrer-Policy ↗ umožňuje upravit, kolik informací o tom, odkud přicházejí, návštěvníci poskytnou při odchodu z vaší stránky.
Funkce prohlížeče lze v různé míře deaktivovat pomocí Permissions-Policy ↗ hlavička (nedávno přejmenována z Feature-Policy).
Pokud potřebujete podrobnou kontrolu nad obsahem své aplikace, Content-Security-Policy ↗ hlavička vám umožňuje nastavit řadu bezpečnostních voleb, včetně ovládacích prvků podobných X-Frame-Options hlavička.
/app/*
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Referrer-Policy: no-referrer
Permissions-Policy: document-domain=()
Content-Security-Policy: script-src 'self'; frame-ancestors 'none';