[Документация Yandex Cloud](../index.md) > [Yandex Cloud CDN](index.md) > Решение проблем

# Решение проблем в Cloud CDN

Ниже перечислены проблемы, часто возникающие при работе с Cloud CDN, и способы их решения.

* [На запросы файлов CDN отвечает кодами 3xx (перенаправление)](#responses-3xx)
* [На запросы файлов CDN отвечает кодами 4xx (ошибка клиента)](#responses-4xx)
* [На запросы файлов CDN отвечает кодами 5xx (ошибка сервера)](#responses-5xx)
* [Запросы с методами POST, PUT, PATCH, DELETE недоступны пользователям](#post-responses)
* [Изменения настроек не применились к ресурсу](#changes-not-applied)
* [У CDN-ресурса статус Not active, и контент недоступен пользователям](#resource-not-active)
* [Что происходит с CDN-ресурсом при блокировке платежного аккаунта за неуплату](#billing-account-blocked)
* [Не удается настроить TLS-сертификат](#tls-certificate)
* [CDN отправляет сжатые файлы пользователям, которые не запрашивают сжатый контент](#compressed-files)
* [Как включить поддержку протокола WebSocket](#websocket-support)

## На запросы файлов CDN отвечает кодами 3xx (перенаправление) {#responses-3xx}

Проверьте, что в настройках [ресурса](concepts/resource.md) указаны:

* Протокол (HTTP или HTTPS), который используется источниками в качестве основного. Если источники перенаправляют запросы с URI со схемой `http` на URI со схемой `https`, для ресурса нужно выбрать протокол HTTPS, и наоборот.
* Значение HTTP-заголовка `Host`, с которого источники не перенаправляют запросы. 
  
  > Например, если настроено значение заголовка `www.example.com`, а источники перенаправляют запросы с таким значением на `example.com`, измените значение в настройках на `example.com`.

## На запросы файлов CDN отвечает кодами 4xx (ошибка клиента) {#responses-4xx}

Проверьте, что:

* Доступ конечных клиентов к контенту разрешен в настройках ресурса.
* Источники возвращают файлы в ответ на прямые запросы (в обход CDN).
* Источники разрешают и корректно обрабатывают запросы, соответствующие настройкам ресурса:

  * по указанному протоколу: HTTP или HTTPS;
  * с указанным значением HTTP-заголовка `Host` и другими заголовками. 

## На запросы файлов CDN отвечает кодами 5xx (ошибка сервера) {#responses-5xx}

{% note info %}

CDN-серверы не поддерживают протокол IPv6 и могут обращаться к источникам только по IPv4-адресам.

{% endnote %}

Проверьте, что:

* Источники отвечают на запросы CDN-серверов в течение 5 секунд.
* Источники разрешают и корректно обрабатывают запросы, соответствующие настройкам ресурса:

  * по указанному протоколу: HTTP или HTTPS;
  * с указанным значением HTTP-заголовка `Host` и другими заголовками. 
  
Также проверьте статус Cloud CDN на [специальной странице Yandex Cloud](https://status.cloud.yandex.ru/dashboard?service=cloud%20cdn).

## Запросы с методами POST, PUT, PATCH, DELETE недоступны пользователям {#post-responses}

По умолчанию методы `POST`, `PUT`, `PATCH`, `DELETE` недоступны в запросах клиентов. Чтобы узнать о возможности использования этих методов, обратитесь в [техническую поддержку](https://kz.center.yandex.cloud/support). При запросе опишите сценарий использования.

## Изменения настроек не применились к ресурсу {#changes-not-applied}

Чтобы новые настройки существующего ресурса применились к CDN-серверам, может потребоваться до 15 минут. После этого рекомендуется [очистить кеш ресурса](operations/resources/purge-cache.md).

## У CDN-ресурса статус Not active, и контент недоступен пользователям {#resource-not-active}

Ресурс может находиться в статусе `Not active` из-за того, что к нему нет пользовательских запросов в течение 90 дней, или потому что его деактивировали вручную. Чтобы ресурс снова стал активен, [включите](operations/resources/configure-basics.md) опцию **Доступ конечных пользователей к контенту** в основных настройках ресурса. Активировать и деактивировать ресурсы могут пользователи с ролью `cdn.editor` или выше.

## Что происходит с CDN-ресурсом при блокировке платежного аккаунта за неуплату {#billing-account-blocked}

Если ваш [платежный аккаунт](../billing/concepts/billing-account.md) был заблокирован за неуплату, доступ к контенту через CDN-ресурс [приостанавливается](operations/resources/disable-resource.md#disable-resource).

{% note warning "**Важно**" %}

Разблокировка платежного аккаунта не возвращает доступ к контенту. [Восстановите](operations/resources/disable-resource.md#enable-resource) его самостоятельно.

{% endnote %}

## Не удается настроить TLS-сертификат {#tls-certificate}

{% note info %}

Прекращена поддержка _автоматического_ выпуска сертификатов от Let’s Encrypt® для CDN-ресурсов.

{% endnote %}

Поддерживаются сертификаты из [Yandex Certificate Manager](../certificate-manager/index.md). Вы можете [выпустить новый сертификат Let's Encrypt®](../certificate-manager/operations/managed/cert-create.md) или [загрузить собственный](../certificate-manager/operations/import/cert-create.md).

Сертификат должен находиться в том же [каталоге](../resource-manager/concepts/resources-hierarchy.md#folder), в котором расположен ваш CDN-ресурс.

Ниже приведен пример ошибки в CLI, когда сертификат и CDN-ресурс находятся в разных каталогах:

```bash
ERROR: operation (id=bcdb6qaiw8mb********) failed: rpc error: code = InvalidArgument desc = folder ids of user and certificate don't match; operation-id: bcdb6qaiw8mb********
```

## CDN отправляет сжатые файлы пользователям, которые не запрашивают сжатый контент {#compressed-files}

Cloud CDN может отправлять сжатые файлы, даже если пользователи не запрашивают сжатый контент. Такое поведение возникает если:

1. Первый запрос от клиента на файл, которого еще нет в кеше CDN, был с заголовком `Accept-Encoding: gzip`. Этот же заголовок передается в [источник](concepts/origins.md).
1. Источник передает в кеш CDN сжатый файл, но не проставляет заголовок `Vary: Accept-Encoding`. Такое происходит, например, если в качестве источника настроен [бакет Object Storage](../storage/concepts/bucket.md).

В такой ситуации в кеше CDN сохраняется сжатый файл, и его будут получать все клиенты. При этом не имеет значения, поддерживают ли их устройства сжатие и включают ли они заголовок `Accept-Encoding: gzip` в свои запросы.

Чтобы этого избежать, [включите сжатие файлов](operations/resources/enable-compression.md). Тогда Cloud CDN будет всегда запрашивать из источника контент без сжатия, а при запросе от клиента с заголовком `Accept-Encoding: gzip` сожмет файлы самостоятельно, без отправки заголовка источнику.

## Как включить поддержку протокола WebSocket {#websocket-support}

Чтобы включить протокол [WebSocket](https://ru.wikipedia.org/wiki/WebSocket), обратитесь в [техническую поддержку](https://kz.center.yandex.cloud/support). В обращении укажите:
* сценарий использования WebSocket;
* задачи, которые вы планируете решать;
* примерный объем передаваемого трафика.