INTEGRITY Документация

Доступные настройки

Это настройки, которые можно задать при создании правила кеширования.

Поля

Поля, доступные для выражений сопоставления Cache Rule в Expression Builder это:

Если вы выберете Edit expression параметра можно ввести любое из доступные поля.

Операторы

Для выражений Cache Rule доступны следующие операторы:

Допустимость кеширования

В Допустимость кеширования, у вас есть возможность выбрать Bypass cache если не хотите кэшировать соответствующие запросы, или Подлежит кешированию если хотите, чтобы Cloudflare пытался их кэшировать.

Bypass cache

При создании правила кэширования можно выбрать Bypass cache если не хотите кэшировать входящие запросы, соответствующие условию. Также можно использовать Development Mode, если вы хотите обходить кеш на более короткие периоды времени.

Настройки «Подлежит кешированию»

Если вы выбираете Подлежит кешированию, вы можете изменить настройки конфигурации, описанные ниже.

Edge TTL

Edge Cache TTL определяет максимальное время жизни кеша (TTL), то есть срок, в течение которого ресурс считается актуальным и может выдаваться из кеша Cloudflare в ответ на запросы. У этой настройки есть три основных варианта:

Кроме того, вы можете указать, как долго содержимое для определённого кода состояния должно кэшироваться в глобальной сети Cloudflare. В Status Code TTL разделе можно задать длительность TTL для одного или нескольких кодов состояния ответов от сервера источника. Эту настройку можно применить к Отдельный код код состояния, в Больше или равно или Меньше или равно код состояния, либо в Диапазон кодов статуса. TTL для кодов статуса аналогичны Ignore cache-control header and use this TTL в том, что заголовок cache-control в ответе будет игнорироваться в пользу TTL, заданного правилом кэширования. Дополнительную информацию см. в Status code TTL.

Информация об API

Имя объекта конфигурации API: "edge_ttl".

Значения API Конфигурация
respect_origin Используется заголовок cache-control, если он есть, иначе используется Поведение кеширования Cloudflare если нет.
override_origin Ignore cache-control header and use this TTL.
bypass_by_default Используется заголовок cache-control, если он есть, иначе кеш не используется.
Пример конфигурации API
"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 с полными примерами API.

Browser TTL

Browser TTL, это максимальное время жизни (TTL), в течение которого ресурс должен считаться доступным для обслуживания из кэша браузера.

Выберите, если хотите Bypass cache, Respect origin, или Переопределить источник. Если вы хотите переопределить значение Browser TTL, задайте в раскрывающемся меню, как долго ресурсы, кешированные в браузерах клиентов, будут оставаться актуальными. Дополнительную информацию см. в Browser Cache TTL.

Информация об API

Имя объекта конфигурации API: "browser_ttl".

Значения API для "mode" свойство: "respect_origin", "override_origin", "bypass_by_default".

Значения API для "default" свойство (целое число): доступные значения зависят от вашего плана. См. Browser Cache TTL.

Пример конфигурации API
"action_parameters": {
  "cache": true,
  "browser_ttl" : {
    "mode": "override_origin",
    "default": 1000
  }
}

См. Создание правила кеширования через API с полными примерами API.

Cache Key

Ключи кеша определяют критерии, по которым Cloudflare решает, как хранить ресурсы в кеше. Настройка Cache Key позволяет управлять тем, как Cloudflare повторно использует отдельные записи кеша для разных запросов или разделяет их более детально для конечных пользователей.

Явного ограничения по длине ключей кеша не существует. Однако общий размер запроса (включая заголовки, используемые в ключе кеша) не должен превышать ограничения запросов. Включение больших значений (например, cookie) в ключ кеша может увеличивать задержку на каждый запрос. Максимальное количество параметров строки запроса в пользовательской конфигурации ключа кеша составляет 100.

Определите компоненты запроса, используемые для определения пользовательский Cache Key, настроив следующие параметры:

У клиентов на плане Enterprise есть следующие дополнительные параметры для настраиваемых Cache Keys:

Информация об API

Имя объекта конфигурации API: "cache_key".

Значения API: "ignore_query_strings_order", "cache_deception_armor", "cache_by_device_type", "custom_key" ("header", "cookie", "host", "query_string", "user").

Пример конфигурации API
"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"
        ],
        "contains": {
          "accept-encoding": ["br", "zstd"]
        }
      },
      "cookie": {
        "include": [
          "cookieName1"
        ],
        "check_presence": [
          "cookie_1"
        ]
      },
      "user": {
        "device_type": true,
        "geo": true,
        "lang": true
      },
      "host": {
        "resolved": false
      }
    }
  }
}

См. Создание правила кеширования через API с полными примерами API.

Cache Reserve Eligibility

Cache Reserve Eligibility позволяет указать, какие ресурсы сайта могут попадать в наш постоянный кеш под названием Cache Reserve. Если запрос соответствует и также удовлетворяет критерии соответствия, Cloudflare запишет ресурс в Cache Reserve. Для этого требуется дополнительный план Cache Reserve.

Это правило также можно использовать для определения пригодности ресурсов сайта для Cache Reserve на основе их размера. Например, если указать, что для участия подходят ресурсы объёмом от 100 МБ, Cloudflare будет искать подходящие для Cache Reserve ресурсы объёмом от 100 МБ и постоянно сохранять только их.

Информация об API

Имя объекта конфигурации API: "cache_reserve".

Имя свойства API для включения Cache Reserve: "eligible" (логическое значение).

Пример конфигурации API
"action_parameters": {
  "cache": true
  "cache_reserve": {
    "eligible": true,
    "minimum_file_size": 100000
  }
}

См. Создание правила кеширования через API с полными примерами API.

Кеширование на порту (только Enterprise)

Cloudflare поддерживает несколько сетевые порты по умолчанию, например 80 или 443. Некоторые порты, традиционно административные, поддерживаются, но кеширование на них отключено, поскольку они используются для управления конфиденциальной информацией, которая не должна кешироваться. Клиентам на тарифе Enterprise, которые хотят включить кеширование на этих административных портах, достаточно указать нужный порт.

Информация об API

Имя свойства конфигурации API: "additional_cacheable_ports" (массив целочисленных значений).

Пример конфигурации API
"action_parameters": {
    "cache": true
    "additional_cacheable_ports": [8443, 8080]
  }
}

См. Создание правила кеширования через API с полными примерами API.

Proxy Read Timeout (только для Enterprise)

Задает значение тайм-аута между двумя последовательными операциями чтения с вашего исходного сервера. Значение по умолчанию можно найти в Лимиты подключений в таблице. Если вы пытаетесь уменьшить HTTP 524 ошибки из-за тайм-аутов от исходного сервера, попробуйте увеличить значение тайм-аута с помощью конечной точки API ниже.

Информация об API

Имя свойства конфигурации API: "read_timeout" (целое число).

Пример конфигурации API
"action_parameters": {
  "cache": true,
  "read_timeout": 900
}

См. Создание правила кеширования через API с полными примерами API.

Показ устаревшего контента во время ревалидации

Определяет, будет ли Cloudflare отдавать устаревшее содержимое во время обновления актуального содержимого с исходного сервера. Если отдача устаревшего содержимого отключена, Cloudflare не отдает его при получении актуального содержимого с источника.

Информация об API

Имя свойства конфигурации API: "serve_stale" > "disable_stale_while_updating" (логическое значение).

Пример конфигурации API
"action_parameters": {
  "cache": true,
  "serve_stale": {
    "disable_stale_while_updating": true
  }
}

См. Создание правила кеширования через API с полными примерами API.

Respect Strong ETags

Включение и отключение побайтовой проверки соответствия между кешем Cloudflare и исходным сервером. Если параметр включен, Cloudflare использует строгий ETag заголовка, чтобы убедиться, что ресурсы в кеше Cloudflare и на исходном сервере идентичны побайтово. Если эта проверка отключена, Cloudflare преобразует заголовки ETag в слабый ETag заголовки.

Информация об API

Имя свойства конфигурации API: "respect_strong_etags" (логическое значение).

Пример конфигурации API
"action_parameters": {
  "cache": true,
  "respect_strong_etags": true
}

См. Создание правила кеширования через API с полными примерами API.

Сквозная передача страницы ошибки источника

Включение и отключение страниц ошибок Cloudflare, создаваемых на основе кодов состояния HTTP, полученных от исходного сервера. Если параметр включен, используются страницы ошибок, предоставленные исходным сервером.

Информация об API

Имя свойства конфигурации API: "origin_error_page_passthru" (логическое значение).

Пример конфигурации API
"action_parameters": {
  "cache": true,
  "origin_error_page_passthru": true
}

См. Создание правила кеширования через API с полными примерами API.

Origin Cache Control (только для Enterprise)

Если эта опция включена, Cloudflare стремится строго соблюдать RFC 7234. Клиенты на плане Enterprise могут выбирать, должен ли Cloudflare следовать этому поведению. У клиентов на планах Free, Pro и Business эта опция включена по умолчанию и не может быть отключена.

Информация об API

Имя свойства конфигурации API: "origin_cache_control" (логическое значение).

Пример конфигурации API
"action_parameters": {
  "cache": true
  "origin_cache_control": true
}

См. Создание правила кеширования через API с полными примерами API.

Vary

Vary заголовок ответа позволяет вашему источнику кешировать несколько версий одного URL-адреса на основе заголовков запроса. Используйте vary объект, чтобы настроить, как Cloudflare обрабатывает каждый заголовок, который ваш источник указывает в своём Vary ответ. О том, как Vary влияет на ключи кеша и как работает нормализация, см. Vary.

vary объект поддерживает следующие ключи:

Ключ Обязательный Описание
default Да Настройка для любого имени заголовка в источнике Vary ответ, не включенный в headers.
headers Нет Сопоставление имён заголовков запроса в нижнем регистре с объектами конфигурации.

Если vary объект опущен, эта настройка Vary в правилах кеширования отключена. Другое поведение Vary, например Vary: *, Vary for images, и обработку сжатия, не затрагивается. Если vary объект присутствует, default обязателен. Пустой vary объект недействителен.

Каждый объект конфигурации заголовка, а также default объект должен включать action с ключом, установленным на одно из normalize, passthrough, или bypass. См. Действия с рекомендациями о том, когда использовать каждый из вариантов.

Для некоторых имён заголовков можно указать дополнительные параметры:

Header Дополнительный ключ Описание
accept media_types Список MIME-типов, которые нужно учитывать при нормализации Accept заголовок. Максимум 10 элементов.
accept-language languages Список языков, которые нужно учитывать при нормализации Accept-Language заголовок. Максимум 20 элементов.

Для большинства конфигураций начните с ограничивающего default и явную настройку по отдельным заголовкам:

Действуют следующие ограничения и правила проверки:

Информация об API

Имя объекта конфигурации API: "vary".

В следующем примере нормализуется accept и accept-language, и обходит кеш для любого другого заголовка в источнике Vary ответ:

Пример конфигурации API
"action_parameters": {
  "cache": true,
  "vary": {
    "default": {
      "action": "bypass"
    },
    "headers": {
      "accept": {
        "action": "normalize",
        "media_types": ["text/html", "application/json"]
      },
      "accept-language": {
        "action": "normalize",
        "languages": ["en", "fr", "de"]
      }
    }
  }
}

См. Создание правила кеширования через API с полными примерами API или Пример Terraform.