Николаев Виталий
Блог веб-разработчика: Битрикс, PHP, Python, Linux и SEO
Linux-server Linux-server
16.05.2026

Готовый Nginx config для Bitrix

При переносе сайта на 1С-Битрикс или настройке нового сервера часто возникает одна и та же задача: нужен рабочий Nginx config для Bitrix, который корректно обрабатывает ЧПУ, PHP-файлы, статические файлы, HTTPS и системные директории CMS.

Ниже приведён готовый пример конфигурации Nginx для сайта на Битрикс. Его можно использовать как базовый шаблон и доработать под свой домен, версию PHP и структуру сервера.

Что делает этот конфиг

  • перенаправляет HTTP на HTTPS;
  • корректно обрабатывает ЧПУ через /bitrix/urlrewrite.php;
  • передаёт PHP-файлы в PHP-FPM;
  • отдаёт статику напрямую через Nginx;
  • закрывает доступ к служебным и скрытым файлам;
  • подходит для типового сайта на 1С-Битрикс.

Готовый Nginx config для Bitrix

server {
    listen 80;
    server_name example.ru www.example.ru;

    return 301 https://example.ru$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.ru www.example.ru;

    root /var/www/example.ru;
    index index.php index.html;

    client_max_body_size 100M;

    ssl_certificate /etc/letsencrypt/live/example.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.ru/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    if ($host = www.example.ru) {
        return 301 https://example.ru$request_uri;
    }

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

    location ~ \.php$ {
        try_files $uri =404;

        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $document_root;
    }

    location ~* \.(jpg|jpeg|gif|png|webp|svg|ico|css|js|woff|woff2|ttf|eot|mp4|webm|ogg|ogv|pdf|zip|rar)$ {
        expires 30d;
        access_log off;
        log_not_found off;
        try_files $uri =404;
    }

    location ~ /\. {
        deny all;
    }

    location ~* /(bitrix|local)/(backup|cache|managed_cache|stack_cache)/ {
        deny all;
    }

    location ~* /(upload|bitrix|local)/.*\.(php|php3|php4|php5|php7|phtml|phar)$ {
        deny all;
    }

    location = /favicon.ico {
        access_log off;
        log_not_found off;
    }

    location = /robots.txt {
        access_log off;
        log_not_found off;
    }
}

Что нужно заменить под себя

Перед использованием конфига обязательно замените следующие значения:

  • example.ru — на ваш домен;
  • /var/www/example.ru — на путь к корню сайта;
  • php8.2-fpm.sock — на вашу версию PHP-FPM;
  • пути к SSL-сертификатам — на актуальные пути Let’s Encrypt.

Почему для Bitrix важен urlrewrite.php

В 1С-Битрикс большинство ЧПУ-страниц обрабатываются не как физические файлы, а через внутренний механизм роутинга. Поэтому в блоке location / используется строка:

try_files $uri $uri/ /bitrix/urlrewrite.php?$args;

Это означает: если Nginx не нашёл физический файл или директорию, запрос передаётся в /bitrix/urlrewrite.php, а Битрикс уже сам определяет, какой компонент и шаблон нужно подключить.

Проверка PHP-FPM

Если после настройки сайта PHP-файлы скачиваются или отдают ошибку 502, чаще всего проблема в неправильном пути к сокету PHP-FPM.

Проверить доступные сокеты можно командой:

ls /run/php/

Например, если на сервере используется PHP 8.2, чаще всего путь будет таким:

fastcgi_pass unix:/run/php/php8.2-fpm.sock;

Проверка конфига Nginx

После изменения конфигурации обязательно проверьте её на ошибки:

nginx -t

Если ошибок нет, перезагрузите Nginx:

systemctl reload nginx

Частые ошибки при настройке Nginx для Bitrix

Страницы отдают 404

Обычно это происходит, если в location / не прописана передача запросов в /bitrix/urlrewrite.php.

Ошибка 502 Bad Gateway

Чаще всего причина в неправильном пути к PHP-FPM сокету или в том, что служба PHP-FPM не запущена.

systemctl status php8.2-fpm

Не открывается админка Битрикс

Проверьте права на файлы, корректность PHP-FPM, наличие директории /bitrix/ и отсутствие слишком жёстких правил deny в конфигурации Nginx.

Не работают ЧПУ

Проверьте, что в конфиге используется именно такая конструкция:

try_files $uri $uri/ /bitrix/urlrewrite.php?$args;

Дополнительная защита

В конфиге закрыт доступ к скрытым файлам, PHP-файлам внутри /upload/, а также к некоторым служебным директориям Битрикс. Это снижает риск запуска вредоносных файлов, если они случайно окажутся в публичных папках сайта.

Особенно важно запрещать выполнение PHP в директории /upload/, потому что именно туда чаще всего могут попасть загруженные пользователями файлы.

Итог

Готовый Nginx config для Bitrix должен учитывать особенности CMS: ЧПУ через urlrewrite.php, работу PHP-FPM, отдачу статики и базовые правила безопасности. Приведённый выше конфиг можно использовать как основу для большинства сайтов на 1С-Битрикс.

Перед применением на рабочем сайте обязательно сделайте резервную копию текущей конфигурации и проверьте результат командой nginx -t.

39 просмотров

Комментарии

Где заказы?
Почему у одних компаний очередь из клиентов, а у других пустой сайт и тишина?
Телеграм канал «Где заказы?» — про продажи, сайты и ошибки бизнеса на реальных примерах. Подписаться