← Images / images / optimization / hosted-images
Poskytování obrázků z vlastních domén
Doručování obrázků je podporováno ze všech zákaznických domén v rámci stejného účtu Cloudflare. Pro doručování obrázků přes vlastní domény je třeba adresu URL obrázku upravit do následujícího formátu:
https://example.com/cdn-cgi/imagedelivery/<ACCOUNT_HASH>/<IMAGE_ID>/<VARIANT_NAME>Příklad s vlastní doménou:
https://example.com/cdn-cgi/imagedelivery/ZWd9g1K7eljCn_KDTu_MWA/083eb7b2-5392-4565-b69e-aff66acddd00/publicV tomto příkladu <ACCOUNT_HASH>, <IMAGE_ID> a <VARIANT_NAME> jsou stejné, ale liší se hostname a prefix cesty:
example.com: Doména proxovaná přes Cloudflare ve stejném účtu jako Cloudflare Images./cdn-cgi/imagedelivery: Cesta ke spuštěnícdn-cgiproxy pro obrázky.ZWd9g1K7eljCn_KDTu_MWA: Hash účtu Images. Najdete ho v Cloudflare Images Dashboard.083eb7b2-5392-4565-b69e-aff66acddd00: ID obrázku.public: Název varianty.
Vlastní cesty
Ve výchozím nastavení jsou obrázky ze služby Images doručovány z /cdn-cgi/imagedelivery/ cesty. Můžete použít Transform Rules k přepisování URL a doručování obrázků z vlastních cest.
Základní verze
Plány Free a Pro podporují pravidla porovnávání řetězců (včetně zástupných operací), která nevyžadují regulární výrazy.
Tento příklad umožňuje přepsat požadavek z example.com/images na example.com/cdn-cgi/imagedelivery/<ACCOUNT_HASH>.
Chcete-li vytvořit pravidlo:
-
V dashboardu Cloudflare přejděte na Přehled pravidel stránce.
Přejděte na Přehled ↗ -
Vedle URL Rewrite Rules, vyberte Vytvořit pravidlo.
-
V části Pokud příchozí požadavky odpovídají, vyberte Vzor se zástupným znakem a zadejte následující Request URL (nahraďte vlastní doménou):
https://example.com/images/* -
V části Poté přepište cestu a/nebo řetězec dotazu > Cesta, zadejte následující hodnoty (s použitím hashe vašeho účtu):
- Cílová cesta: [
/]images/* - Přepsat na: [
/]cdn-cgi/imagedelivery/<ACCOUNT_HASH>/${1}
- Cílová cesta: [
-
Vyberte Nasadit až budete hotovi.
Pokročilá verze
Tento příklad umožňuje přepsat požadavek z example.com/images/some-image-id/w100,h300 na example.com/cdn-cgi/imagedelivery/<ACCOUNT_HASH>/some-image-id/width=100,height=300 a předpokládá, že je zapnutá funkce Flexible variants.
Chcete-li vytvořit pravidlo:
-
V dashboardu Cloudflare přejděte na Přehled pravidel stránce.
Přejděte na Přehled ↗ -
Vedle URL Rewrite Rules, vyberte Vytvořit pravidlo.
-
V části Pokud příchozí požadavky odpovídají, vyberte Custom filter expression a poté vyberte Edit expression.
-
Do textového pole zadejte
(http.request.uri.path matches "^/images/.*$"). -
V části Cesta, vyberte Přepsat na.
-
Vyberte Dynamický a do textového pole zadejte následující.
regex_replace(
http.request.uri.path,
"^/images/(.*)\\?w([0-9]+)&h([0-9]+)$",
"/cdn-cgi/imagedelivery/<ACCOUNT_HASH>/${1}/width=${2},height=${3}"
)Omezení
Při použití vlastní domény není možné přímo nastavit pravidla WAF, která by reagovala na požadavky směřující na /cdn-cgi/imagedelivery/ cesty. Pokud potřebujete nastavit pravidla WAF, můžete pro přístup k obrázkům použít Cloudflare Worker a k jeho spuštění Route ve vaší doméně. Ukázkový worker najdete v Poskytování soukromých obrázků pomocí podepsaných URL tokenů.