Налаштування Nginx для 1С-Бітрікс: безпека, кешування, Composite

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

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

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1017
  • 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
    759
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    802
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1161

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

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