Диагностика CDN
3xx коды ответа (редирект)
Если при запросе контента с CDN получен редирект (код 301 или 302), проверьте следующие настройки CDN-ресурса:
- Протокол обращения к источнику. Выберите протокол в соответствии с настройками редиректа на вашем источнике:
- если на источнике настроен редирект с HTTP на HTTPS, укажите HTTPS в настройках опции
- если на источнике настроен редирект с HTTPS на HTTP, укажите HTTP
- Заголовок
Host
:- как правило, заголовок
Host
совпадает с источником; укажите корректный заголовок или настройте на источнике обработку уже указанного заголовка - если на источнике настроен редирект с одного домена на другой, укажите в качестве источника хост, на который идет редирект.
- как правило, заголовок
Пример: Если идет перенаправление с mydomain.com на www.mydomain.com, источником должен быть www.mydomain.com.
Следить за количеством 3xx кодов ответа Возможно на вкладке Коды ответов раздела Отчеты.
Примечание
С помощью сырых логов возможно получить более подробную информацию о работе CDN-ресурсов. Для подключения опции обратитесь к вашему менеджеру или отправьте запрос в техническую поддержку support@cloud.mts.ru.
4xx коды ответа
4xx коды ответов могут быть связаны с некорректной работой источника или настройками CDN-ресурса.
Проверка доступности контента на источнике
- запросите контент с источника напрямую
- убедитесь, что контент отдается с HTTP кодом 200
- если доступ к источнику по IP ограничен или используется сервис защиты от DDoS, убедитесь, что IP CDN-серверов не блокируются
- чтобы получить список IP CDN-серверов, отправьте API-запрос:
curl -i -X GET
.
Примечание
Для получения подробной информации об API-документации обратитесь в службу технической поддержки MWS по адресу support@cloud.mts.ru.
Важно
Список IP часто обновляется, поэтому рекомендуется настроить скрипт для регулярного обновления белого списка на вашем источнике или использовать авторизацию по HTTP-заголовку.
Проверка настроек CDN-ресурса
- убедитесь, что CDN-ресурс включен; если вы создали новый ресурс, дождитесь, когда конфигурация применится на CDN-серверах, обычно это занимает 15 минут
- проверьте, отвечает ли ваш источник по протоколу, выбранному в опции «Протокол обращения к источнику»
- проверьте настройки опции «Изменить заголовок Host»; убедитесь, что опция активна, а её значение соответствует источнику или хосту, который настроен на сервере источнике
Возможно следить за количеством 4xx кодов ответа на вкладке Коды ответов раздела Отчеты.
С помощью сырых логов возможно получить более подробную информацию о работе CDN-ресурсов. Для подключения опции обратитесь к вашему менеджеру или отправьте запрос в техническую поддержку support@cloud.mts.ru.
5xx коды ответа
Код ответа 5xx свидетельствует об ошибке на стороне сервера-источника или CDN. Ошибки могут быть вызваны разными причинами.
Проверка наличия инцидентов и работ
Если присутствует значительное увеличение 5хх кодов ответа или приходят массовые жалобы от пользователей, в первую очередь рекомендуется проверить Status Page на наличие открытых инцидентов или работ:
- связанных с CDN
- связанных с другими сервисами, если они используются в качестве источника (Storage, VPS, Dedicated Server, Cloud)
Проверка источника
Убедитесь, что источник отвечает на запросы. Если источник возвращает код ошибки, для решения проблемы обратитесь к вашему хостинг-провайдеру или администратору сервера.
- код 504 зачастую говорит о том, что CDN не дождался ответа от источника
- CDN-сервер ожидает ответ в течение 5 секунд и возвращает код 504, если источник не успевает ответить
- настройте источник таким образом, чтобы он отвечал на запросы в течение 5 секунд
- если вы ограничиваете доступ к источнику по IP или используете сервис защиты от DDoS, убедитесь, что IP CDN-серверов не блокируются
- чтобы получить список IP CDN-серверов, отправьте API-запрос:
curl -i -X GET
- чтобы получить список IP CDN-серверов, отправьте API-запрос:
Примечание
Для получения подробной информации об API-документации обратитесь в службу технической поддержки MWS по адресу support@cloud.mts.ru.
Важно
Список IP часто обновляется, поэтому рекомендуется настроить скрипт для регулярного обновления белого списка на вашем источнике или использовать авторизацию по HTTP-заголовку.
Проверка настроек CDN-ресурса
5xx коды ответа могут быть связаны с некорректными настройками CDN-ресурса. Далее будут рассмотрены наиболее распространенные ошибки.
Неверно выбран протокол обращения к источнику
- проверьте, отвечает ли источник по протоколу, выбранному в опции «Протокол обращения к источнику»
- если в качестве источника используется сервис Cloudflare или CloudFront, выберите HTTP в качестве протокола взаимодействия с источником
- если источник отвечает только по протоколу HTTPS или на источнике настроен редирект с HTTP на HTTPS, обратитесь в техническую поддержку support@cloud.mts.ru для внесения дополнительных настроек
Некорректно указан заголовок Host
- убедитесь, что опция «Изменить заголовок Host» активна, а её значение соответствует источнику или хосту, настроенному на сервере-источнике
Следить за количеством 5xx кодов ответа можно на вкладке Коды ответов раздела Отчеты.
Примечание
С помощью сырых логов возможно получить более подробную информацию о работе CDN-ресурсов. Для подключения опции обратитесь к вашему менеджеру или отправьте запрос в техническую поддержку support@cloud.mts.ru.
Блокировка поисковых ботов
Если в качестве источника CDN-ресурса выступает сайт, то его копия, расположенная на персональном домене (cname) может быть проиндексирована поисковыми системами.
Чтобы запретить поисковым системам индексировать копию сайта:
Создайте на источнике директорию и поместите в неё файл
robots.txt
с настройками запрета индексации:User-agent: * Disallow: /
В настройках CDN ресурса создайте пустое правило со следующими настройками:
- шаблон правила:
robots.*
- опция: Rewrite
- значение Rewrite body:
/(.*)/folder/$1
, гдеfolder
- название директории, созданной на первом шаге
- шаблон правила:
Как это работает?
- Поисковые боты проверяют настройки для индексирования, указанные в файле «robots».
- С помощью правила перезаписывается путь, по которому поисковые боты будут обращаться при посещении персонального домена. Например, если персональный домен
cdn.domain.com
, то поисковые боты будут видеть файлcdn.mydomain.com/robots.txt
, который фактически располагается в директории/folder/robots.txt
. - Так как в этом файле указаны директивы, запрещающие индексирование, персональный домен cdn.mydomain.com не попадет в выдачу поисковых систем.
- На индексирование самого сайта эти настройки не повлияют.
Отсутствие кэширования контента
кэшированный трафик - трафик, полученный из кэша CDN-сервера без обращения к источнику.
Возможно отслеживать процент кэшированного трафика на вкладке Кешированный трафик раздела Отчеты.
Процент кэшированного трафика зависит от количества запросов к контенту и объемов трафика. Если процент кэшированного трафика не превышает 60%:
- убедитесь, что интеграция сайта или приложения с CDN работает корректно: статический контент раздается через персональный домен (cname), персональный домен настроен
- убедитесь, что с момента запуска трафика прошло более двух дней
- если это возможно, интегрируйте с CDN больше статического контента
Если весь статический контент уже интегрирован, но процент кэшированного трафика не повышается, проверьте настройки CDN-ресурса, связанные с кэшированием.
Опция «Кеширование на CDN»
- убедитесь, что опция добавлена и активна
- если выбран вариант «Использовать настройки источника» убедитесь, что настройки источника подходят для кэширования; CDN следует значению заголовка
Cache-Control
Примечание
Директивы http-заголовка «Cache-Control», которые не подходят для кэширования на CDN:
no-cache
,no-store
,private
,max-age=0
Опции «Игнорировать параметры запроса» и «Игнорировать Set-Cookie»
По умолчанию CDN кэширует контент с разными параметрами запроса и значениями заголовка Set-Cookie
как отдельные файлы.
Если используются параметры запроса и/или заголовок ], рекомендуется активировать в настройках ресурса опции Игнорировать Set-Cookie и Игнорировать параметры запроса. Это снизит частоту обращения CDN к источнику и повысит процент кэшированного трафика.
Опция «Оптимизация доставки больших файлов»
Активируйте опцию Оптимизация доставки больших файлов для контента большого размера.
При добавлении каких-либо параметров (например, уникальной подписи для пользователей) в сам URL, а не в качестве «Параметра запроса» (например, http://cdn.example.com/image.jpg?id=1
), для корректной работы ресурса требуется настройка кастомных ключей кэширования.
Обратитесь в техническую поддержку для настройки. В запросе опишите структуру URL, что нужно кэшировать в URL, а что при кэшировании можно не учитывать.
Медленная загрузка контента
При возникновении трудностей со скоростью загрузки сайта или приложения, проверьте скорость загрузки статического контента с CDN и с источника. Это можно сделать любым из способов:
DevTools в браузере
- Для того, чтобы открыть инструменты разработчика в браузере, нажмите: клавиша F12 - вкладка Network - клавиша F5
Wget
- Используйте команду
wget -S <URL>
, где<URL>
- это URL статического файла, с которым наблюдаются трудности:
wget -S testsupport.cdn.co/files/test.jpg --2019-12-10 13:29:17-- http://testsupport.cdn.co/files/test.jpg Resolving testsupport.cdn.co (testsupport.cdn.co)... 92.223.97.97 Connecting to testsupport.cdn.co (testsupport.cdn.co)|92.223.97.97|:80... connected. HTTP request sent, awaiting response... HTTP/1.1 200 OK Server: nginx Date: Tue, 10 Dec 2019 08:29:17 GMT Content-Type: image/jpeg Content-Length: 290 Connection: keep-alive Last-Modified: Fri, 06 Dec 2019 10:12:14 GMT ETag: "5dea297e-122" Set-Cookie: 48c62c809b061c360cc201975b7fa802 Cache: MISS X-ID: fr5-up-gc22 Accept-Ranges: bytes Syntax error in Set-Cookie: 48c62c809b061c360cc201975b7fa802 at position 32. Length: 290 [image/jpeg] Saving to: 'test.jpg' test.jpg 100%[=================================================>] 290 --.-KB/s in 0s 2019-12-10 13:29:18 (5,38 MB/s) - 'test.jpg' saved 290/290
- Используйте команду
Онлайн-сервисы
- Используйте онлайн-сервисы для замера скорости. При проверке обратите внимание на настройки локации, откуда осуществляется проверка, и интернет-соединение.
Если анализ подтвердил наличие проблем со скоростью загрузки файлов с CDN, проверьте настройки СDN-ресурса:
- Убедитесь, что при обращении к контенту не используется прокси или VPN. VPN влияет на географическую балансировку, в результате чего на запрос отвечает неоптимальный CDN-сервер, это приводит к снижению скорости загрузки контента.
- Убедитесь, что контент кэшируется. Отслеживать процент кэшированного трафика можно на соответствующей вкладке раздела Отчеты.
- Если проблемы со скоростью загрузки наблюдаются у файлов большого размера, рекомендуем включить опцию Оптимизация доставки больших файлов и настроить сжатие на источнике или CDN.