INTEGRITY Dokumentace

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/public

V tomto příkladu <ACCOUNT_HASH>, <IMAGE_ID> a <VARIANT_NAME> jsou stejné, ale liší se hostname a prefix cesty:

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:

  1. V dashboardu Cloudflare přejděte na Přehled pravidel stránce.

    Přejděte na Přehled ↗
  2. Vedle URL Rewrite Rules, vyberte Vytvořit pravidlo.

  3. 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/*
  4. 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}
  5. 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:

  1. V dashboardu Cloudflare přejděte na Přehled pravidel stránce.

    Přejděte na Přehled ↗
  2. Vedle URL Rewrite Rules, vyberte Vytvořit pravidlo.

  3. V části Pokud příchozí požadavky odpovídají, vyberte Custom filter expression a poté vyberte Edit expression.

  4. Do textového pole zadejte (http.request.uri.path matches "^/images/.*$").

  5. V části Cesta, vyberte Přepsat na.

  6. 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ů.