Настройка кеширования ресурса
Чтобы настроить параметры кеширования для ресурса:
-
В консоли управления
выберите каталог, в котором расположен ресурс. -
Выберите сервис Cloud CDN.
-
Нажмите на имя необходимого ресурса.
-
Перейдите на вкладку Кеширование.
-
В правом верхнем углу нажмите кнопку
Редактировать. -
Выберите и настройте нужные варианты кеширования:
-
В блоке CDN:
- Включите опцию Кеширование в CDN.
- Выберите тип настроек:
Как у источника
илиСвои настройки
. - Выберите время жизни кеша из списка.
- (Опционально) Для типа настроек
Свои настройки
задайте время жизни кеша для нужных HTTP-кодов ответа.
-
В блоке Браузер:
- Включите опцию Кеширование в браузере.
-
-
(Опционально) В блоке Дополнительно:
- Выберите опцию игнорирования Cookie.
- Выберите опцию игнорирования Query-параметров.
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для редактирования ресурсов:
yc cdn resource update --help
-
Получите список всех ресурсов в каталоге по умолчанию:
yc cdn resource list --format yaml
Результат:
id: s0me1dkfjq******** folder_id: s0mef01der7p******** cname: testexample.com created_at: "2022-01-19T09:23:57.921365Z" updated_at: "2022-01-19T10:55:30.305141Z" active: true options: edge_cache_settings: enabled: true default value: "345600" cache_http_headers: enabled: true value: - content-type - content-length - connection - server - date - test stale: enabled: true value: - error - updating allowed_http_methods: value: - GET - POST - HEAD - OPTIONS origin_group_id: "89783" origin_group_name: My origins group origin_protocol: HTTP ssl_certificate: type: DONT_USE status: READY
-
Чтобы изменить время жизни кеша, выполните:
yc cdn resource update <идентификатор_ресурса> \ --cache-expiration-time <время> \ --browser-cache-expiration-time <время> \ --ignore-cookie true \ --ignore-query-string
Где:
--cache-expiration-time
— время жизни кеша в секундах.--browser-cache-expiration-time
— время жизни кеша браузера в секундах.--ignore-cookie
со значениемtrue
включает игнорирование Cookie.--ignore-query-string
включает игнорирование Query-параметров.
Подробнее о команде
yc cdn resource update
см. в справочнике CLI.
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры создаваемого CDN-ресурса
yandex_cdn_resource
:terraform { required_providers { yandex = { source = "yandex-cloud/yandex" version = "0.69.0" } } } provider "yandex" { token = "<OAuth-токен>" cloud_id = "<идентификатор_облака>" folder_id = "<идентификатор_каталога>" zone = "<зона_доступности>" } resource "yandex_cdn_resource" "my_resource" { cname = "cdn1.yandex-example.ru" active = false origin_protocol = "https" secondary_hostnames = ["cdn-example-1.yandex.ru", "cdn-example-2.yandex.ru"] origin_group_id = yandex_cdn_origin_group.my_group.id options { edge_cache_settings = "345600" browser_cache_settings = "1800" ignore_cookie = true ignore_query_params = false } }
Где:
cname
— основное доменное имя для раздачи контента. Обязательный параметр.active
— флаг, указывающий на доступ к контенту для конечных пользователей.True
— контент из CDN будет доступен клиентам. Необязательный параметр, значение по умолчанию:true
.origin_protocol
— протокол для источников. Необязательный параметр, значение по умолчанию:http
.secondary_hostnames
— дополнительные доменные имена. Необязательный параметр.origin_group_id
— идентификатор группы источников. Обязательный параметр. Используйте идентификатор из описания группы источников в ресурсеyandex_cdn_origin_group
.- Блок
options
содержит дополнительные параметры CDN-ресурсов:browser_cache_settings
— время жизни кеша в браузере в секундах. Необязательный параметр, значение по умолчанию:0
.edge_cache_settings
— время жизни кеша для кодов ответа в секундах. Необязательный параметр, значение по умолчанию:345600
.ignore_query_params
— игнорировать query-параметры. Необязательный параметр, значение по умолчанию:false
.ignore_cookie
— игнорировать cookie. Необязательный параметр, значение по умолчанию:false
.
Более подробную информацию о параметрах
yandex_cdn_resource
в Terraform см. в документации провайдера . -
В командной строке перейдите в папку, где расположен конфигурационный файл Terraform.
-
Проверьте конфигурацию командой:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминал слово
yes
и нажмите Enter.Проверить изменение CDN-ресурса можно в консоли управления
или с помощью команды CLI:yc cdn resource list
Воспользуйтесь методом REST API update для ресурса Resource или вызовом gRPC API ResourceService/Update.
Чтобы новые настройки существующего ресурса применились к CDN-серверам, может потребоваться до 15 минут. После этого рекомендуется очистить кеш ресурса.