Как Vercel использует CDN для защиты и расширения Discourse-форума
Vercel опубликовал техническую заметку о том, как они используют собственную CDN-сеть для проксирования форума Discourse, на котором работает сообщество Vercel Community. Этот подход позволяет получить преимущества платформы Vercel — защиту от DDoS, фаервол, наблюдаемость — без полного переноса прил

Vercel опубликовал техническую заметку о том, как они используют собственную CDN-сеть для проксирования форума Discourse, на котором работает сообщество Vercel Community. Этот подход позволяет получить преимущества платформы Vercel — защиту от DDoS, фаервол, наблюдаемость — без полного переноса приложения. Более того, инженеры Vercel показали, как с помощью микрофронтендов можно расширять функциональность Discourse, запуская отдельные страницы на Next.js на том же домене.
Как Vercel проксирует Discourse через свой CDN
Для настройки проксирования Vercel рекомендует использовать два домена: внутренний (inner domain) — фактический хост Discourse, и внешний (outer domain) — публичный домен сообщества. Все ссылки на сайте и канонические URL должны указывать на внешний домен. Затем создаётся проект на Vercel, который развёртывается на внешнем домене, а с помощью файла vercel.ts (ранее vercel.json) настраивается перезапись трафика на внутренний домен. Таким образом, Vercel становится CDN-прокси, обрабатывающим запросы перед Discourse.
Какие преимущества даёт проксирование Discourse через Vercel?
Проксирование через CDN Vercel обеспечивает несколько ключевых преимуществ. Во-первых, это защита от DDoS-атак: Vercel автоматически фильтрует вредоносный трафик, не нагружая исходный сервер Discourse. Во-вторых, появляется возможность использовать встроенный фаервол для блокировки подозрительных запросов. В-третьих, Vercel предоставляет инструменты наблюдаемости, такие как логи и метрики производительности, которые помогают отслеживать состояние форума. Наконец, проксирование позволяет постепенно внедрять микрофронтенды на Next.js, не нарушая работу основного приложения.
Предыстория и контекст
Vercel Community — это форум на базе Discourse, который хостится не на Vercel, а на сторонней платформе. Однако Vercel хотел использовать свой собственный стек для защиты и расширения возможностей сообщества. Вместо миграции всего форума они решили проксировать его через свой CDN. Это решение вписывается в общую стратегию Vercel: предоставлять инструменты, которые работают с любым приложением, а не только с развёрнутыми на их платформе. Ранее компания уже демонстрировала подобные кейсы с WordPress и другими системами.
Как работает микрофронтенд на том же домене?
Особенность реализации Vercel Community — использование вертикальных микрофронтендов. Часть страниц, например страницы живых сессий (live sessions), работают на Next.js и развёрнуты непосредственно на Vercel. Для интеграции их с Discourse на том же домене Vercel применяет микрофронтенды: в файле microfrontends.json указываются пути, которые должны обрабатываться отдельными проектами Vercel. Когда новые страницы готовы к запуску, достаточно добавить путь в конфигурацию, и при следующем деплое пользователи бесшовно перенаправляются на новую реализацию.
Технические детали: настройка прокси и микрофронтендов
Для проксирования трафика Vercel использует перезапись (rewrite) запросов с внешнего домена на внутренний. Это настраивается в файле vercel.ts. Для микрофронтендов создаётся отдельный файл microfrontends.json, который определяет соответствие путей и проектов. Например, путь /.well-known/workflow направляется на проект, использующий Workflow Development Kit для создания событий и обработки видео. Такой подход обеспечивает лучшую изоляцию: каждый микрофронтенд имеет свои переменные окружения и права доступа, что упрощает управление и повышает безопасность.
Какие настройки безопасности нужно учесть при проксировании?
При проксировании Discourse через Vercel важно правильно настроить заголовки безопасности. Например, необходимо передавать реальный IP-адрес пользователя через заголовок X-Forwarded-For, чтобы Discourse мог корректно обрабатывать геолокацию и ограничения по доступу. Также следует настроить CORS-политики и ограничить доступ к внутреннему домену только через Vercel. Vercel рекомендует использовать переменные окружения для хранения секретных ключей и токенов, чтобы избежать их утечки.
Кого затронет и как
Разработчики, использующие Discourse, WordPress или другие готовые платформы, могут применить эту архитектуру, чтобы получить преимущества CDN Vercel без миграции. Для компаний, которые хотят постепенно заменять части монолитного приложения на микрофронтенды, подход Vercel предлагает бесшовный способ интеграции Next.js на том же домене. В России и СНГ этот кейс может быть полезен для проектов, которые ищут способы улучшить производительность и безопасность форумов без полного переезда на новую платформу.
Что будет дальше
Vercel продолжает развивать инструменты для работы с внешними приложениями. Можно ожидать, что возможности микрофронтендов и проксирования станут ещё более гибкими, возможно, появятся готовые шаблоны для Discourse и других CMS. Компания также активно продвигает концепцию «композитных приложений», где разные технологии работают под одним доменом.
Итог
Кейс Vercel Community демонстрирует, как современный CDN может не только ускорять и защищать приложение, но и служить платформой для постепенной модернизации. Используя проксирование и микрофронтенды, можно расширять функциональность существующих систем без их полной замены. Это особенно ценно для проектов, где миграция сложна или нежелательна.