Васин Константин
Бесплатно · без регистрации

CDN для сайта:
как подключить, если сервер в России

CDN держит копии файлов в десятках стран и отдаёт посетителю из ближайшей. Сайт открывается у тех, у кого не открывался, и грузится быстрее у всех остальных. Российский сервер требует особой схемы — обычная не работает.

Что даёт

Замер на файле 1 МБ с одного сайта, до и после подключения:

ОткудаС сервера напрямуюЧерез CDN
Сингапурне открывался0,06 с
Украинане открывалась0,85 с
США1,6 с и таймауты0,18–0,28 с
Бразилия2,6–3,1 с1,12 с
Индияне открывалась0,56 с

Выигрывают две группы. Первая — те, кто физически далеко. Вторая — те, кто сидит через VPN: выход у них за границей, поэтому для сайта они иностранцы и едут к нему через полмира. Это большая часть российской аудитории, и без CDN она получает сайт в худшем виде.

Три правила для российского сервера

Обычная инструкция «зарегистрируйтесь в CDN и укажите адрес сайта» с сервером в России не работает. Нужны три отличия.

  1. Файлы залить в европейское хранилище CDN, а не давать ему ходить на ваш сервер В обычной схеме CDN сам ходит за файлами на сервер и кэширует. Участок «точка раздачи → российский сервер» ненадёжен: крупные файлы доходят не полностью, кэш не собирается, посетитель получает обрыв. Проверено на двух разных сайтах и двух разных CDN. Рабочая схема — файлы лежат копией в европейском хранилище провайдера, сервер в раздаче не участвует.
  2. На CDN уводить только статику, отдельным адресом cdn.вашсайт.ru — туда PDF, картинки, видео, скрипты. Страницы остаются на сервере: они весят десятки килобайт и доходят везде. Так поломка CDN стоит вам картинок, а не сайта, и откатывается одной строкой.
  3. Российскую аудиторию оставить на сервере Сервер стоит в той же стране, он ближе любой точки раздачи. Замер: 0,08–0,34 секунды напрямую против 0,36–3,77 через CDN. Увести туда основную аудиторию — сделать хуже большинству ради меньшинства. Правильно: Россия идёт на сервер, остальной мир через CDN.

Порядок действий

  1. Создать хранилище в европейском регионе У провайдера это отдельная сущность — storage zone. Регион берите ближе к аудитории: для России и Европы подходит Франкфурт.
  2. Залить статику со своей машины Не с сервера: заливка с российского сервера упирается в тот же ненадёжный канал. Файлы у вас и так лежат локально в исходниках сайта.
  3. Создать зону раздачи и привязать её к хранилищу Именно к хранилищу, а не к адресу сайта. У Bunny это OriginType: 2 плюс идентификатор хранилища; если передать только идентификатор, запрос вернёт успех и ничего не изменит.
  4. Повесить свой адрес и выпустить сертификат CNAME с cdn.вашсайт.ru на адрес зоны, дальше сертификат выпускается кнопкой у провайдера.
  5. Переписать ссылки на статику в шаблонах сайта Только на тяжёлое: PDF, видео, крупные картинки. Мелочь оставьте на сервере, выигрыш не окупит второй домен в цепочке.
  6. Сбросить кэш зоны Если до этого зона хоть раз ходила на сервер, в кэше лежат обрывки. Первая же проверка отдаст их, и покажется, что не помогло.

Как проверить, что заработало

Четыре правила — без них проверка врёт.

Проверьте, отдаёт ли провайдер нужные вам страны. У части CDN есть санкционные геоблокировки: например, Bunny полностью не отдаёт Иран. Смотрите те регионы, которые важны вам, а не «в среднем по миру».

Когда CDN не нужен

Как не пропустить блокировку адреса

Блокировка по IP в России выглядит не как ошибка, а как тишина. У домашних абонентов сайт «думает» и не открывается, а с серверов, из дата-центров и с вашего ноутбука за VPN всё работает. В публичном реестре такой блокировки может не быть. Пинг с сервера, uptime-сервис и «у меня открывается» её не видят — вы узнаёте от клиентов, через неделю.

Мерить нужно с домашних линий операторов, а не из дата-центров. Это отсекает почти все привычные инструменты: у check-host из 56 нод российских две, обе в одном дата-центре в Москве и Петербурге. Ваш второй сервер у другого хостера — тоже дата-центр.

Домашние пробы есть у двух сетей волонтёров. Обе бесплатные, замер по API:

СетьДомашних проб в РоссииЧто нужно
Globalping29ничего: без регистрации, 250 проб-замеров в час
RIPE Atlas103аккаунт и своя проба на любом сервере, она зарабатывает кредиты

Globalping хватает для ежедневного дозора, и с него можно начать за десять минут. Числа — живой замер на дату публикации, они плывут: пробы у волонтёров включаются и выключаются. Мобильные сети покрыты слабо в обеих — их проверяйте телефоном с выключенным Wi-Fi.

Ниже готовый скрипт. Он раз в день опрашивает ваш сайт с пятнадцати домашних проб России и трёх контрольных из Германии, различает три исхода и присылает строку в Telegram. Только стандартная библиотека Python, ничего ставить не надо.

PY
tspu-watch.py Скрипт дозора, 11 КБ. Запуск: python3 tspu-watch.py --targets ваш-сайт.ru
Скачать скрипт

Как читать его отчёт:

СтрокаЧто этоЧто делать
OK · РФ 15/15 · контроль 3/3Все домашние пробы ответилиНичего
БЛОК · РФ 2/15 · контроль 3/3Россия молчит, из-за границы сайт жив, повтор через пять минут подтвердилПереключать на запасной адрес
ЛЕЖИТ · РФ 0/15 · контроль 0/3Молчат всеЭто сервер, не блокировка: SSH, панель хостера, диск, память
OK (шум)Первый замер напугал, повтор чистыйНичего: пробы у волонтёров ходят и падают
  1. Один домен на каждый сервер Блок по IP бьёт по серверу целиком, поэтому проверять все сайты на одном адресе незачем. Домен, а не IP: так заодно видно блокировку по имени.
  2. Раз в день, с отчётом даже когда всё хорошо Молчание дозора неотличимо от его смерти. Одна строка в Telegram по утрам — и вы знаете, что он жив. Чаще раза в час не надо: лимит Globalping общий на всех.
  3. Запускать оттуда, где открывается Telegram С сервера в России api.telegram.org может не отвечать; тогда либо ноутбук, либо адрес своего прокси через --tg-api.
  4. Запасной вход подготовить до тревоги Адрес в другой сети, лучше у другого хостера. TTL 300 постоянно, сертификаты выпущены заранее. Тогда смена адреса — одна DNS-запись и пять минут; без подготовки — сутки простоя.
Первый же прогон на моих сайтах нашёл лежащий сервер — один из семи не отвечал ни с одной из восемнадцати проб. Это был не ТСПУ, а зависший VPS, но узнал я об этом от дозора, а не от клиента. Правило тревоги в скрипте — рабочая настройка, не закон: половина молчащих домашних проб при живом контроле, подтверждённая повтором.

Сколько стоит

Как этим пользоваться

Два шага, именно в этом порядке: промпт ссылается на файл по имени, поэтому сначала файл.

Шаг 1. Скачайте ранбук в папку проекта

Это инструкция для ИИ-агента: методика проверки, развилка на три случая, порядок переезда домена без разрыва, дозор блокировки адреса (скрипт — ниже, в разделе про блокировку) и список граблей. Агент прочитает её сам — вам открывать не обязательно.

MD
cdn-runbook-llm.md Файл Markdown, 29 КБ. Скачается на диск, откроется в любом редакторе.
Скачать файл

Шаг 2. Запустите промпт в своём ИИ

Откройте своего ИИ-агента с доступом к терминалу — подойдёт любой: Claude, ChatGPT, Gemini, Cursor — в той же папке, куда положили файл. Скопируйте промпт, подставьте свои данные в блок «Вводные» и отправьте. Внутри запреты, которые не дадут агенту сломать боевой сайт: не проксировать сайт целиком, не переключать домен до выпуска сертификатов, не выключать старый путь.

Полный промптзамерить, предложить решение, сделать
Короткий промпттолько замер, без единой правки
Промпт «Дозор»поставить ежедневную проверку с готовым скриптом
Это не часть гайда — это про автора
Канал автора в Telegram Константин Васин показывает, как в одиночку ведёт полтора десятка сайтов на ИИ-агентах: что сработало, что нет, с цифрами.
Открыть канал
Бесплатный разбор ниши в боте Другая тема, не про CDN: присылаете свою нишу — бот возвращает разбор, есть ли спрос, кто уже в выдаче и с чего начинать сайт.
Открыть бота

Читать дальше

Все гайды рабочие: каждый — то, что реально крутится у меня, а не пересказ документации.

Claude Code и агенты

Хуки в Claude CodeАгент сам запускает твой скрипт: память на старте, сохранение контекста между сессиями, стоп-кран на опасные команды. Экономия токеновСтартовый вес сессии пересылается каждый ход. Как срезать его в разы: 48 400 → 15 200 токенов, готовые правила. Панель анализа расходаГотовый промпт: собирает локальную панель — сколько токенов и денег ушло по дням, проектам и моделям. Разбор инструментаСкилл: кидаешь ссылку на Reels, пост или репозиторий — получаешь вердикт, брать или мимо, и первый тест.

SEO и сайты

SEO-машинаКарта из десяти систем, из которых собран сайт на ИИ-агентах: что делает каждая и как собрать такую же. GEO-оптимизация сайтаКак попадать в ответы ChatGPT, AI Overviews и Яндекс Нейро: механика, чеклист по четырём уровням и промпт для аудита и правок. Разведка нишиСкилл: go/no-go по нише до сборки сайта — спрос через Wordstat, деньги-страницы, контент-план. Сайт с нуля с ИИ-агентомЧто решить до первого промпта, зачем два раздельных ТЗ и как сразу заложить блог с категориями. Самоаудит сайта20 проверок за 30 секунд и сравнение с медианой по 83 сайтам малого бизнеса. Скрипт бесплатный. Wordstat APIПодключение через Yandex Cloud за 15 минут: API-ключ, Folder ID, роль, проверка, лимиты и деньги. API поисковиковТокен Яндекс.Вебмастера и доступ к Google Search Console. Включая ловушку с семью днями.

Видео и контент

6 проектов в Claude CodeКонтент-пайплайн целиком: карусели, Reels, озвучка клон-голосом, авто-монтаж, второй мозг. Монтаж «голова + экран»Обучающий ролик с лицом поверх записи экрана: синхронизация, резка тишины, поиск фальстартов, вставки. Индекс видеотекиГотовый промпт: ИИ режет все видео на диске на смысловые куски с таймкодами — что происходит, что говорится, подо что годится.