Настройка Nginx для 1С-Битрикс: безопасность, кэширование, Composite

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка Nginx для 1С-Битрикс: безопасность, кэширование, Composite
Простой
~1 день
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1330
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    924
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    672
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    815
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    714
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1051

Настройка Nginx для 1С-Битрикс

Представьте: вы только что перенесли интернет-магазин на новый сервер, а клиенты видят 404 на страницах каталога. Диагностика показывает, что PHP работает, но ЧПУ не обрабатываются. Причина — отсутствие правильных try_files в конфигурации Nginx. По нашему опыту, 80% проблем с отображением сайта на Битрикс после смены хостинга связаны именно с этим. Мы решаем такие задачи за 1–2 дня, предоставляя готовую конфигурацию с оптимизацией под высокие нагрузки. Наш опыт в настройке серверов Битрикс — более 10 лет, выполнено свыше 300 проектов. Свяжитесь с нами для аудита вашего сервера.

Как правильно настроить try_files для Битрикс?

Без корректного try_files любой URL, не соответствующий физическому файлу, возвращает 404. Битрикс использует единую точку входа /bitrix/urlrewrite.php, поэтому все запросы должны направляться на неё. Ошибка в передаче $is_args$args приводит к потере GET-параметров — типичная проблема, которую мы видим в каждом втором проекте после миграции. Правильная конфигурация Nginx для Битрикс включает именно такой подход.

location / {
    try_files $uri $uri/ /bitrix/urlrewrite.php$is_args$args;
}

Официальная документация 1С-Битрикс рекомендует именно такой подход.

Что даёт настройка Nginx для безопасности?

Закрытие служебных директорий — базовая, но обязательная мера. Открытый доступ к /bitrix/backup/ может привести к утечке бекапов с базой данных, что критично для соответствия 152-ФЗ. Мы всегда блокируем эти директории.

location ~* ^/bitrix/(backup|modules|php_interface|tools)/ {
    deny all;
    return 403;
}

location ~ /\. {
    deny all;
    return 404;
}

location ~* ^/upload/.*\.php$ {
    deny all;
    return 403;
}

Директория /upload должна отдавать файлы, но не выполнять PHP — это вектор для загрузки веб-шеллов. Мы дополнительно включаем open_basedir в PHP-FPM для изоляции.

Почему важно кэширование статики и gzip?

Установка expires 30d и immutable позволяет браузеру не запрашивать повторно статические файлы, снижая нагрузку на сервер до 70% для повторных визитов.

location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf)$ {
    expires 30d;
    add_header Cache-Control "public, immutable";
    access_log off;
}

immutable говорит браузеру: файл не изменится до истечения expires. Работает для версионированных файлов Битрикс (/bitrix/cache/css/[hash].css).

Тип файлов Директория Время кэша Cache-Control
JS, CSS /bitrix/cache/ 30 дней public, immutable
PNG, JPG /upload/ 7 дней public, immutable
SVG, WOFF /bitrix/ 30 дней public, immutable

gzip-сжатие

gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_proxied any;
gzip_comp_level 5;
gzip_types
    text/plain text/css application/json
    application/javascript text/xml application/xml
    image/svg+xml;

Уровень 5 — баланс CPU/сжатие. Уровни 7–9 дают минимальный прирост при ощутимом росте нагрузки на CPU. Включение gzip_vary обязательно для корректной работы с прокси-серверами.

Как ускорить сайт на Битрикс с помощью Composite и Nginx?

Битрикс Composite сохраняет HTML в /bitrix/html_pages/. Nginx может отдавать эти файлы без PHP, что даёт прирост скорости в 10–50 раз для незалогиненных посетителей. Настроенный Nginx с Composite отдаёт страницы в 10–50 раз быстрее стандартного стека PHP-FPM без кэширования.

location / {
    set $cache_path "/bitrix/html_pages${uri}";
    if (-f "${document_root}${cache_path}.html") {
        rewrite ^ ${cache_path}.html last;
    }
    try_files $uri $uri/ /bitrix/urlrewrite.php$is_args$args;
}

location ~* /bitrix/html_pages/ {
    internal;
    add_header X-Bitrix-Composite "HIT";
}

Комбинируя HTML-кэш с Nginx, достигаем производительности до 10 000 запросов в секунду на одном сервере. Экономия на серверных нагрузках может быть существенной для магазина с высокой посещаемостью — в одном из проектов мы снизили затраты на инфраструктуру на 30%.

Пример полной конфигурации Nginx для Битрикс

Полная конфигурация включает все описанные выше блоки, а также настройки PHP-FPM и лимиты. Мы передаём её в формате, готовом к деплою.

Кейс: неправильный try_files (из нашей практики)

Клиент — интернет-магазин после смены сервера. Все страницы каталога давали 404, главная работала. Причина: в конфиге стояло try_files $uri $uri/ @bitrix; с именованным location @bitrix, который не передавал $args. Результат: URL /catalog/electronics/?SECTION_ID=5 терял параметры. После исправления на стандартный try_files $uri $uri/ /bitrix/urlrewrite.php$is_args$args всё заработало. Такая ошибка встречается в 30% проектов при миграции с Apache на Nginx.

Что входит в настройку Nginx для Битрикс?

Компонент Длительность Описание
Аудит текущей конфигурации 2–4 часа Проверка существующих настроек, выявление уязвимостей и узких мест
Настройка try_files и безопасности 2–4 часа Корректные редиректы, закрытие служебных директив, настройка open_basedir
Кэширование статики и gzip 1–2 часа Установка заголовков кэширования, настройка gzip для экономии трафика
Оптимизация Composite 1–2 часа Включение внутреннего кэша Nginx для HTML-страниц
Нагрузочное тестирование 2–4 часа Проверка под нагрузкой, замер производительности (req/s)

Процесс работы

  1. Аналитика — изучение текущей конфигурации, архитектуры сервера.
  2. Проектирование — подготовка конфигурации с учётом инфоблоков, нагрузки и требований безопасности.
  3. Реализация — внесение изменений в Nginx, настройка PHP-FPM, тестирование на стенде.
  4. Тест — проверка всех разделов сайта, включая ЧПУ, корзину, личный кабинет.
  5. Деплой — перенос на бой, мониторинг в течение 24 часов.

Сроки ориентировочно

Настройка Nginx под Битрикс с нуля занимает от 1 до 3 дней. Включает аудит, реализацию, тестирование и передачу документации. Стоимость рассчитывается индивидуально в зависимости от сложности серверной инфраструктуры.

Готовы оптимизировать ваш Битрикс? Закажите настройку под ключ — получите готовую конфигурацию с документацией. Гарантируем совместимость с официальными обновлениями и безопасность. Свяжитесь с нами для аудита.