利用可能な設定
これらは、キャッシュルールを作成する際に構成できる設定です。
Expression Builderで利用可能なキャッシュルールのマッチング式のフィールドは次のとおりです:
- Cookie -
http.cookie - Hostname -
http.host - Referer -
http.referer - SSL/HTTPS -
ssl - URI Full -
http.request.full_uri - URI -
http.request.uri - URI Path -
http.request.uri.path - URI Query String -
http.request.uri.query - User Agent -
http.user_agent - X-Forwarded-For -
http.x_forwarded_for - Request Headers -
http.request.headers - Cookie value of -
http.request.cookies
利用可能なすべてのフィールドのリストについては、Fieldsを参照してください。
キャッシュルール式で利用可能な演算子は次のとおりです:
- equals
- does not equal
- contains
- does not contain
- matches regex
- does not match regex
- is in
- is not in
- starts with
- ends with
- does not start with
- does not end with
キャッシュの適格性では、マッチするリクエストをキャッシュしないようにするためにBypass cacheを選択するか、CloudflareがそれらをキャッシュしようとするためにEligible for cacheを選択するオプションがあります。
キャッシュルールを作成する際、マッチする受信リクエストをキャッシュしないようにするためにBypass cacheを選択するオプションがあります。あるいは、短期間キャッシュをバイパスしたい場合は、Development Modeを使用できます。
Eligible for cacheを選択すると、以下に説明する設定を変更できます。
Edge Cache TTLは、最大キャッシュの有効期限(TTL)を指し、リソースがCloudflareのキャッシュからリクエストに応じて新鮮または利用可能と見なされる期間を示します。この設定には3つの主なオプションがあります:
- Use cache control-header if present, bypass cache if not: レスポンスにキャッシュコントロールヘッダーが存在する場合、その指示に従います。存在しない場合は、キャッシュを完全にスキップします。
- Use cache-control header if present, use default Cloudflare caching behavior if not: レスポンスにキャッシュコントロールヘッダーが存在する場合、その指示に従います。存在しない場合は、デフォルトのエッジTTL設定に従ってキャッシュします。
- Ignore cache-control header and use this TTL: レスポンスのキャッシュコントロールヘッダーを完全に無視し、タイミングドロップダウンで指定された期間キャッシュします。
さらに、特定のマッチングステータスコードのコンテンツをCloudflareのグローバルネットワークでどのくらいの期間キャッシュしたいかを選択できます。Status Code TTLセクションでは、オリジンサーバーからのレスポンスの1つまたは複数のステータスコードのTTL期間を定義できます。この設定は、Single codeステータスコード、Greater than or equalまたはLess than or equalステータスコード、またはRangeのステータスコードに適用できます。ステータスコードTTLは、キャッシュルールによって指定されたTTLの代わりにレスポンスのキャッシュコントロールヘッダーが無視される点で、Ignore cache-control header and use this TTLに似ています。詳細については、Status code TTLを参照してください。
API情報
API構成オブジェクト名: "edge_ttl"。
| API値 | 構成 |
|---|---|
respect_origin | キャッシュコントロールヘッダーが存在する場合は使用し、存在しない場合はデフォルトのCloudflareキャッシュ動作を使用します。 |
override_origin | キャッシュコントロールヘッダーを無視し、このTTLを使用します。 |
bypass_by_default | キャッシュコントロールヘッダーが存在する場合は使用し、存在しない場合はキャッシュをバイパスします。 |
"action_parameters": { "cache": true, "edge_ttl": { "status_code_ttl": [ { "status_code_range": { "to": 299 }, "value": 86400 }, { "status_code_range": { "from": 300, "to": 499 }, "value": 0 // no-cache }, { "status_code_range": { "from": 500 }, "value": -1 // no-store } ], "mode": "respect_origin" }}完全なAPI例については、Create a cache rule via APIを参照してください。
Browser TTLは、ブラウザのキャッシュからリソースが利用可能と見なされる最大キャッシュの有効期限(TTL)を指します。
Bypass cache、Respect origin、またはOverride originを選択します。ブラウザTTL値を上書きしたい場合は、クライアントブラウザによってキャッシュされたリソースが有効である期間をドロップダウンメニューから定義します。詳細については、Browser Cache TTLを参照してください。
API情報
API構成オブジェクト名: "browser_ttl"。
APIの"mode"プロパティの値: "respect_origin"、"override_origin"、"bypass_by_default"。
APIの"default"プロパティの値(整数): 利用可能な値はプランによって異なります。詳細については、Browser Cache TTLを参照してください。
"action_parameters": { "cache": true, "browser_ttl" : { "mode": "override_origin", "default": 1000 }}完全なAPI例については、Create a cache rule via APIを参照してください。
キャッシュキーは、Cloudflareがリソースをキャッシュにどのように保存するかを決定するために使用する基準を指します。キャッシュキーをカスタマイズすることで、Cloudflareが特定のキャッシュエントリをリクエスト間で再利用したり、エンドユーザーのためにより詳細にキャッシュエントリを共有したりする方法を決定できます。
カスタムキャッシュキーを定義するために使用されるリクエストコンポーネントを定義し、以下のオプションをカスタマイズします:
- Cache deception armor、Cache by device type、およびSort query stringをオンまたはオフにできます。
エンタープライズ顧客は、カスタムキャッシュキーのために以下の追加オプションを持っています:
- Query stringセクションでは、All query string parameters、All query string parameters except(例外を入力)、No query parameters except(パラメータを入力)、またはIgnore query stringを選択できます(従量課金制の顧客にも利用可能)。
- Headersセクションでは、ヘッダー名とその値を含め、別のヘッダーの存在を確認し、Include origin headerを選択できます。
- Cookieセクションでは、クッキー名とその値を含め、別のクッキーの存在を確認できます。
- Hostセクションでは、Use original hostとResolved hostを選択できます。Userセクションでは、Device type、Country、およびLanguageを選択できます。
API情報
API構成オブジェクト名: "cache_key"。
API値: "ignore_query_strings_order"、"cache_deception_armor"、"cache_by_device_type"、"custom_key"("header"、"cookie"、"host"、"query_string"、"user")。
"action_parameters": { "cache": true, "cache_key": { "ignore_query_strings_order": true, "cache_deception_armor": true, "custom_key": { "query_string": { "include": [ "*" ] }, "header": { "include": [ "header1" ], "check_presence": [ "header_1" ] }, "cookie": { "include": [ "cookieName1" ], "check_presence": [ "cookie_1" ] }, "user": { "device_type": true, "geo": true, "lang": true }, "host": { "resolved": false } } }}完全なAPI例については、Create a cache rule via APIを参照してください。
Cache Reserveの適格性は、どのウェブサイトリソースが私たちの永続的なキャッシュであるCache Reserveに適格であるかを指定することを可能にします。リクエストが一致し、適格基準を満たす場合、Cloudflareはリソースをキャッシュリザーブに書き込みます。これには、追加のキャッシュリザーブプランが必要です。
このルールは、リソースのサイズに基づいてCache Reserveの適格性を指定するためにも使用できます。たとえば、すべての資産が100 MB以上であることを指定することにより、CloudflareはCache Reserveの適格性のために100 MB以上の適格な資産を探し、それらの資産のみを永続的に保存します。
API情報
API構成オブジェクト名: "cache_reserve"。
Cache Reserveを有効にするためのAPIプロパティ名: "eligible"(boolean)。
"action_parameters": { "cache": true, "cache_reserve": { "eligible": true, "minimum_file_size": 100000 }}完全なAPI例については、Create a cache rule via APIを参照してください。
Cloudflareは、80や443などのいくつかのネットワークポートをデフォルトでサポートしています。一部のポートは、従来の管理ポートとしてサポートされていますが、キャッシュが無効になっており、キャッシュに適さない機密情報を管理するために使用されます。これらの管理ポートでキャッシュを有効にしたいエンタープライズ顧客は、希望するポートを入力することでキャッシュを有効にできます。
API情報
API構成プロパティ名: "additional_cacheable_ports"(整数値の配列)。
"action_parameters": { "cache": true, "additional_cacheable_ports": [8443, 8080] }}完全なAPI例については、Create a cache rule via APIを参照してください。
オリジンサーバーへの2回の連続した読み取り操作の間のタイムアウト値を定義します。デフォルト値は、Connection limitsテーブルで確認できます。オリジンサーバーからのタイムアウトによるHTTP 524エラーを減らそうとしている場合は、以下のAPIエンドポイントを使用してこのタイムアウト値を増やしてみてください。
API情報
API構成プロパティ名: "read_timeout"(整数)。
"action_parameters": { "cache": true, "read_timeout": 900}完全なAPI例については、Create a cache rule via APIを参照してください。
Cloudflareがオリジンサーバーから最新のコンテンツを更新している間、古いコンテンツを提供するかどうかを定義します。古いコンテンツの提供が無効になっている場合、Cloudflareは最新のコンテンツを取得している間、古いコンテンツを提供しません。
API情報
API構成プロパティ名: "serve_stale" > "disable_stale_while_updating"(boolean)。
"action_parameters": { "cache": true, "serve_stale": { "disable_stale_while_updating": true }}完全なAPI例については、Create a cache rule via APIを参照してください。
Cloudflareキャッシュとオリジンサーバー間のバイト単位の同等性チェックをオンまたはオフにします。有効にすると、Cloudflareはstrong ETagヘッダー検証を使用して、Cloudflareキャッシュ内のリソースとオリジンサーバー上のリソースがバイト単位で同一であることを確認します。無効にすると、CloudflareはETagヘッダーをweak ETagヘッダーに変換します。
API情報
API構成プロパティ名: "respect_strong_etags"(boolean)。
"action_parameters": { "cache": true, "respect_strong_etags": true}完全なAPI例については、Create a cache rule via APIを参照してください。
オリジンサーバーから送信されたエラーHTTPステータスコードによって生成されたCloudflareエラーページをオンまたはオフにします。有効にすると、この設定によりオリジンによって発行されたエラーページの使用が可能になります。
API情報
API構成プロパティ名: "origin_error_page_passthru"(boolean)。
"action_parameters": { "cache": true, "origin_error_page_passthru": true}完全なAPI例については、Create a cache rule via APIを参照してください。
このオプションが有効になっている場合、CloudflareはRFC 7234 ↗を厳密に遵守することを目指します。エンタープライズ顧客は、Cloudflareがこの動作を遵守するかどうかを選択できます。無料、プロ、ビジネスの顧客は、このオプションがデフォルトで有効になっており、無効にすることはできません。
API情報
API構成プロパティ名: "origin_cache_control"(boolean)。
"action_parameters": { "cache": true, "origin_cache_control": true}完全なAPI例については、Create a cache rule via APIを参照してください。