12 лет в IT, последние 10 лет занимаюсь развитием digital продакшена для ecom.
Пишу в tg | Сетка | Tenchat | vc | habr.

Проблемы при миграции Битрикс24 на Астра Линукс: кейс отказа от Apache и перехода на Nginx + PHP-FPM

Когда «ускорение» оборачивается откатом

Любая оптимизация несёт в себе риск. Особенно если речь идёт о корпоративной системе с тысячами пользователей, десятками бизнес-процессов и высокой критичностью к стабильности.

Мы работаем с крупными инсталляциями Битрикс24: по 2000–3000 активных пользователей в системе, десятки интеграций, сложная автоматизация. В один момент перед нами встал вызов: перейти на импортозамещённое окружение, включая «Астра Линукс» и отказ от привычного Apache в пользу связки Nginx + PHP-FPM.

На бумаге всё выглядело логично: производительность, масштабируемость, современные практики. Но на практике мы получили множество непредсказуемых сбоев и недельный ад восстановления.

Как это выглядело: миграция «в лоб»

Решение принималось быстро. Никто не давил — просто все были за эффективность. Apache решили не использовать: «устаревший», «тяжёлый», «нам всё равно нужно больше производительности».

Мы развернули новое окружение:

  • ОС: Astra Linux
  • Web-сервер: Nginx
  • PHP: PHP-FPM
  • СУБД: PostgreSQL

На тестовом сервере всё работало. Проверяли мы, клиент, снова мы. Формально — продукт был готов к миграции. Все ключевые функции: CRM, бизнес-процессы, коммуникации, документы — выглядели стабильными.

Назначили день Х, перенесли файлы и базу, запустились.

И началось: падение стабильности без Apache

Первый звоночек — пользователи не смогли синхронизировать календари с мобильными устройствами.
Потом не проходили заголовки для zip-архивации.
Затем отвалились некоторые интеграции с внешними сервисами, особенно REST-запросы.

Самое странное: всё это работало на тесте. Ошибки были нелогичными, хаотичными. Казалось, что система живёт своей жизнью. Обычные HTTP-запросы вели себя непредсказуемо.

Мы ушли в дебаг:

  • Начали с логов
  • Проверили сокеты
  • Запустили трассировку пакетов
  • Сравнили поведение Nginx и Apache на одном и том же коде

Результаты нас неприятно удивили.

Почему Bitrix24 «любит» Apache

Коробочная версия Битрикс24 до сих пор во многих местах завязана на особенности работы Apache:

  • Использование .htaccess файлов
  • Обработка нестандартных заголовков
  • Проксирование для мобильных клиентов
  • Роутинг внутри REST API

Да, формально Bitrix работает и под Nginx. Да, на сайте есть конфигурации. Но под капотом — множество нюансов, которые не эмулируются простыми правилами nginx.conf.

Когда мы пытались сымитировать Apache-правила в Nginx — устраняя одни баги, ломались другие.
Мобильные приложения отказывались работать. REST-запросы возвращали пустые данные. Архивы не скачивались.
А клиент уже работал на новом сервере. Проект в бою. Откат — сложный. Ресурсы на пределе.

Что мы сделали: откат к проверенному решению

Решение оказалось не героическим, а здравым: поставить Apache.

Мы подняли Apache параллельно, перевели конфигурацию, протестировали.
Большинство проблем исчезло.
Платформа снова начала работать стабильно.

Что из этого вынесли: уроки и рекомендации

  1. Всегда читайте рекомендации вендора

Вендор указывает не просто так, что поддержка Apache является приоритетной. Это не маркетинг, а техническая реальность. Игнорировать — значит платить временем и репутацией.

  1. Неочевидные функции — ваши лучшие тест-кейсы

Мы добавили в свой чек-лист для QA:

  • Проверка zip-архивации
  • Синхронизация календарей
  • Интеграции с мобильными устройствами

Именно они вскрывают глубинные архитектурные зависимости, которые не заметны при базовой проверке интерфейсов.

  1. Не «ускоряйтесь», пока не знаете цену ускорения

Да, отказ от Apache выглядит как оптимизация. Но если это приводит к нестабильной работе ядра — вы теряете больше, чем выигрываете. Особенно в B2B-проектах, где SLA, штрафы и сложные договорные отношения.

И напоследок: импортозамещение — это не просто про «поставить галочку»

Никакой сарказм. Мы поддерживаем курс на импортонезависимость. Но подход должен быть зрелым:

  • Тестируйте заранее
  • Учитывайте legacy-архитектуру
  • Не бойтесь “старых” решений, если они решают задачу
  • Apache — не панацея, но и не зло

Если вы переходите на Астра Линукс, внимательно пересмотрите архитектуру вашего веб-стека. Иногда лучше не экспериментировать с критически важными модулями, особенно если вы работаете с Bitrix24.