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

Настройка Nginx для 1С-Битрикс Представьте: вы только что перенесли интернет-магазин на новый сервер, а клиенты видят 404 на страницах каталога. Диагностика показывает, что PHP работает, но ЧПУ не обрабатываются. Причина — отсутствие правильных try_files в конфигурации [Nginx](https://ru.wikipedi
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка Nginx для 1С-Битрикс: безопасность, кэширование, Composite
Простой
~1 день

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

Часто задаваемые вопросы

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    995
  • 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
    733
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    772
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1134

Настройка 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 дней. Включает аудит, реализацию, тестирование и передачу документации. Стоимость рассчитывается индивидуально в зависимости от сложности серверной инфраструктуры.

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