Всем привет! Этот пост нацелен на тебя, мой дорогой читатель. На тебя, кто делает современный web/app в России. Пока весь мир обсуждает новые фичи Next.js и AI-кодинг, такие как мы в России осваивают искусство выживания в условиях “чебурнета” 🕸 

Я вам покажу это на примере своего небольшого проекта - каталога уценённых товаров https://dns.ebulgakov.com/. Для любопытных на сайте есть ссылка “О Сервисе”, там более подробно описано, так как пост не об этом. Казалось бы, стек стандартный для 2025/2026: Cloudflare, Vercel, AWS, Clerk. Но в реальности всё оказалось, хм, сложнее.

Начнём с DNS-провайдера. Я фанат Cloudflare. Я им пользовался и буду пользоваться. Вот только проксировать с него уже не получится в РФ, потому что ECH Protocol там включен по умолчанию для бесплатных пользователей. А он по сигнатурам прекрасно режется ТСПУ. И это ведь я только начал.

Интересный момент с Vercel. Если использовать домен https://…..vercel.app - то проблем с открытием сайта в РФ нет, но если прицепить к нему кастомный домен, то vercel будет отдавать список CDN серверов забаненных в РКН.

Дальше AWS. Раньше бы я развернул там Elastic Load Balancer и внутри разруливал трафиком от пользователей. Вот только сейчас eu-central полностью под баном. Эмпирическим путём выяснилось, что на момент тестов us-west еще подавал признаки жизни, вот только через полмира разруливать нагрузкой - это что-то на извращенском. Я думаю, вы поняли, что и другие сервисы, например S3 в такой же ситуации. 

С MongoCloud такая же беда. С Upstash Redis. Последней каплей стал сбой аутентификации Clerk на сайте. Просто в этот понедельник с утра отлетел клиентский вызов API Clerk у пользователей с мобильным интернетом. После пяти кружек кофейного дебага выяснилось, что какой-то сегмент воркеров в Cloudflare стал недоступен из РФ. Грусть и отчаяние берет короче… но пускай оно берёт кого-то другого.

Путей решений было масса. О всех них смысла рассказывать нет. В конечном счете остановился на VDS в РФ. Я за всю жизнь столько не писал конфигов для Nginx. Реверс-проксирование помогло обойти проблему. Не скажу, что было легко. Разруливание Host-заголовков между серверами добавило перчинки. Файл “ebulgakov copy 14.com”не даст соврать. В конечном счёте всё решилось - люди в поддержке у Clerk одни из самых милых, с которыми мне только приходилось иметь дело. Но теперь мне есть чем гордиться и на стороне клиента какие-то forward-прокси, к примеру ВПН, уже использовать не нужно.

После череды тюнинга Nginx мне всё равно где какой из узлов приложения будет находиться в мире (но лучше ближе). Я еще имею баланс прочности на случай если завтра заблокируют ещё что-то, например отправку писем с Resend. Я смотрю на все эти конфиги на сервере, а потом иду в панель управления на Cloudflare - и даже не верится, что такая титаническая работа была проведена в такие короткие сроки. Nginx - спасибо, что ты есть!

Любознательный читатель уже задался вопросом: “Юджин, дружище, а какого лешего, ты все эти западные технологии используешь, если делаешь проект для РФ?” - а нет у нас хоббийных бесплатных тарифных планов. А для сервиса, где сидят пять друзей и один тестовый бот отдавать деньги безработному разработчику как-то накладно :-)

На этом у меня всё. Всем спасибо, кто дочитал. А я напоминаю, если вы ищете опытного Senior Frontend Engineer или Frontend Team Lead себе в команду, который не боится решать инфраструктурные задачи - пишите в личку. Ну вот теперь точно всё. Пока-пока!