Миграция на VDS: инфраструктура, Cloudflare, DNS, SSL
Полный переход ipd.by с shared hosting (185.66.69.20) на выделенный VDS (185.66.68.122). Настроено окружение: Ubuntu 22.04, PHP 8.3.32, Nginx, MariaDB, Composer 2.10, Certbot. Импортирована база данных (65 таблиц), статика (1.1 GB). Подключён Cloudflare: смена NS-серверов, импорт 117 DNS-записей из 1267, исправление SPF. Выпущен wildcard SSL *.ipd.by. Решена проблема SSL для субдоменов 4-го уровня (my2.medtech.ipd.by) через Cloudflare
Зачем эта запись
Эта запись истории платформы ipd.by описывает работы по миграции и инфраструктуре: перенос контента, настройка окружения, редиректы и техническая база сайта. Такие изменения — фундамент, на котором держатся цифровые платформы: скорость, стабильность и правильная структура данных. Версия 4.12.0 (18.07.2026) описывает: «Миграция на VDS: инфраструктура, Cloudflare, DNS, SSL». Дальше по странице — что именно было сделано в этой версии и к каким кейсам это относится.
Что сделано в версии 4.12.0
от 18.07.2026VDS-сервер (185.66.68.122)
- ОС — Ubuntu 22.04.2 LTS, 1 core / 2GB RAM / 40GB SSD, SSH порт 52222
- PHP 8.3.32 — полный стек: cli, fpm, curl, mbstring, xml, zip, gd, mysql, intl, soap, redis
- Nginx 1.18.0 — reverse proxy для Laravel, SSL termination, статика
- MariaDB 10.6 — импортирована БД ipdby (65 таблиц, allpages + ipd_platform)
- Composer 2.10.2 — автозагруза Laravel, зависимости
- Certbot 1.21.0 — автоматическое обновление SSL-сертификатов
- Laravel — приложение разёрнуто в /var/www/ipd.by/, .env настроен, cache cleared
- Images — 524 MB (изображения контента, логотипы, иконки)
- PDF — 491 MB (документы, публикации)
- Downloads — 45 MB (файлы для скачивания)
- Movie — 23 MB (видео)
- Library — 12 MB (библиотечные материалы)
- Videos — 5.3 MB
- Итого — ~1.1 GB статического контента скопировано с shared hosting
- NS-серверы — делегирование переведено на Cloudflare: anastasia.ns.cloudflare.com / leif.ns.cloudflare.com (регистратор hoster.by)
- DNS-зона — экспортирована из cPanel API 2: 1442 записи (1267 A, 165 TXT, 2 CNAME, 1 MX). Очищена от мусора: ~790 записей (cpanel.*, cpcalendars.*, cpcontacts.*, webdisk.*, webmail.* — автоматические записи cPanel). Импортирован оптимальный набор: 117 записей (112 A, 2 CNAME, 1 MX, 2 TXT)
- SPF — исправлен: v=spf1 +a +mx +ip4:185.66.68.122 ~all (было 185.66.69.200 — старый shared hosting)
- DMARC — v=DMARC1; p=none; (без изменений)
- www CNAME — www.ipd.by -> ipd.by (HTTP->HTTPS редирект)
- Wildcard SSL — выпущен через certbot: *.ipd.by + ipd.by (Let's Encrypt, до 16.10.2026)
- Cloudflare edge cert — *.ipd.by, ipd.by (автоматический, Let's Encrypt)
- Cloudflare proxied — A-записи проходят через Cloudflare (IP посетителей: 188.114.96.11, cf-ray заголовки)
- Проблема — wildcard *.ipd.by покрывает ОДИН уровень поддоменов. my2.medtech.ipd.by — два уровня ниже ipd.by. Браузер: "Hostname mismatch, certificate is not valid for my2.medtech.ipd.by"
- Решение — Cloudflare Universal SSL покрывает все уровни субдоменов. Все 117 импортированных A-записей настроены как Proxied (через Cloudflare)
- Результат — my2.medtech.ipd.by работает без SSL-ошибок через Cloudflare
- SSL auth hooks — /tmp/certbot_auth.py, /tmp/certbot_cleanup.py для DNS-валидации (автоматическое обновление wildcard)
- cPanel API — аутентификация через meta-refresh токен (токен сгорает после каждого запроса). API 2: ZoneEdit/fetchzone_records, fetchzone
- Сканирующие атаки — bot 20.206.107.78 сканирует PHP-файлы через поддомены. Требуется rate limiting / firewall
- Бюджет — ~47.70 BYN на балансе, 20 BYN/мес. VDS: ~10-15 BYN/мес. Cloudflare Free
- VDS: Ubuntu 22.04, PHP 8.3, Nginx, MariaDB, Composer, Certbot
- БД: 65 таблиц импортировано (allpages, ipd_platform, users, articles, categories, etc.)
- Статика: ~1.1 GB (images 524MB, pdf 491MB, downloads 45MB, movie 23MB)
- DNS: 1267 A-записей -> 117 в Cloudflare (790 мусорных удалено, 360 не покрыты Free-лимитом)
- SSL: wildcard *.ipd.by (certbot) + Cloudflare edge cert + Universal SSL
- Агенты: Разработчик 2 (System 5), Помощник (System 4) — параллельная работа
- Версия: 4.11.2 -> 4.12.0
Кейсы по этой теме
Эти реальные проекты подтверждают направление, в котором сделана версия.
Разделы по теме
Почему этому можно доверять
Платформа ipd.by развивается открыто: каждый пункт этой версии — реально выполненная работа с датой и описанием, а вся история изменений хранится в реестре версий на Laravel. Кейсы, на которые ведут ссылки выше, — реальные проекты, а не обещания.
Нужна такая работа над вашим проектом
Версии — это видимая история разработки: платформа растёт, а каждая страница объясняет, что и зачем сделано. Если ищете команду, которая так же профессионально развивает продукт — это как раз то, чем я занимаюсь.