For the complete documentation index, see llms.txt. This page is also available as Markdown.

Что такое Nginx

Назначение Nginx, режимы работы и безопасное управление веб-трафиком iEXExchanger

Nginx — программа, которая принимает веб-запросы и отдаёт ответ сама либо передаёт запрос другому компоненту. В iEXExchanger он является публичной точкой входа для клиентского сайта, панели управления, API, файлов и WebSocket.

Nginx работает перед PHP и Node.js. Он не рассчитывает курс и не обрабатывает заявку: его задача — понять домен и путь, применить сетевые правила и направить запрос правильному внутреннему процессу.

Какие роли выполняет Nginx

Роль
Что происходит
Применение в iEXExchanger

Веб-сервер

Файл отдаётся без запуска приложения

Публичные изображения, стили и собранные скрипты

Reverse proxy

Запрос передаётся внутреннему HTTP-процессу

Клиентский SSR или WebSocket через Reverb

FastCGI-шлюз

PHP-запрос передаётся PHP-FPM

Панель управления и серверная часть

Завершение TLS

Проверяется сертификат и расшифровывается HTTPS

ваш_домен и app.ваш_домен

Балансировщик

Запрос выбирает один из нескольких upstream

Используется только при подтверждённой многопроцессной архитектуре

Ограничение и кеш

Применяются лимиты, буферы и правила кеширования

Только для проверенных маршрутов и публичных данных

Существуют NGINX Open Source и коммерческая редакция NGINX Plus. Для эксплуатации iEXExchanger важнее активная конфигурация и доступные модули конкретного сервера. Точный состав показывает nginx -V; перед передачей вывода удалите пути и параметры, раскрывающие инфраструктуру.

Как проходит запрос

Браузер обращается к публичному домену через Cloudflare, если проксирование включено. Nginx принимает HTTPS-запрос, выбирает блок server по домену и порту, затем правило location по пути. Статический файл он отдаёт самостоятельно; запрос клиентской страницы передаёт SSR-процессу Node.js, запрос панели или API — PHP-FPM, а WebSocket-соединение — Reverb. Директива proxy_pass передаёт HTTP-запрос upstream-процессу, а fastcgi_pass используется для PHP-FPM. Официальное описание reverse proxy приведено в документации Nginx.

Из чего состоит конфигурация

Элемент
Назначение

nginx.conf

Основные параметры и подключение дополнительных файлов

http

Общие правила HTTP, журналы, форматы, сжатие и ограничения

server

Виртуальный хост для конкретного домена и порта

location

Правило для пути или типа запроса

upstream

Именованная группа внутренних процессов

include

Подключение отдельного файла конфигурации

На чистой установке базовые файлы создаёт установщик iEXExchanger. Сначала определите активный файл через nginx -T и выясните, управляется ли он установщиком. На существующем сервере с FASTPANEL часть файлов создаёт панель; правила для него размещаются только в предусмотренном пользовательском include.

Что важно для iEXExchanger

  • ваш_домен передаёт обычные страницы клиентскому SSR.

  • Подтверждённые API-пути направляются в серверную часть.

  • app.ваш_домен обслуживает панель и PHP-приложение.

  • WebSocket-путь должен передавать заголовки Upgrade и Connection.

  • PHP, SSR, Redis, PostgreSQL и Reverb слушают только внутренние адреса.

  • Реальный IP посетителя принимается только от доверенного прокси.

  • Закрытые файлы, файл окружения и приватные каталоги никогда не отдаются публично.

Не создавайте широкое правило по знакомому префиксу без сверки текущей поставки. Ошибка порядка location может передать API в SSR, клиентскую страницу — в PHP, а закрытый файл — в статическую выдачу.

Безопасное изменение

  1. Определите точный URL, ожидаемый ответ и компонент назначения.

  2. Найдите активный vhost через sudo nginx -T.

  3. Определите файл, которым управляет текущая схема сервера, и допустимое место изменения.

  4. Сделайте резервную копию конкретного файла.

  5. Внесите минимальное изменение.

  6. Проверьте конфигурацию командой sudo nginx -t.

  7. Примените её через sudo systemctl reload nginx.

  8. Проверьте изменённый URL, соседние маршруты, HTTPS и WebSocket.

  9. Просмотрите журнал ошибок и убедитесь, что новых проблем нет.

Reload перечитывает корректную конфигурацию без полной перезагрузки сервера. Если nginx -t сообщает ошибку, не выполняйте reload и не исправляйте несколько строк наугад.

Частые состояния

Проявление
Возможная причина
Следующий шаг

404

Неверный location, root или маршрут приложения

Сверить активный vhost и точный URL

413

Лимит тела запроса меньше загружаемого файла

Согласовать Nginx, PHP и ограничение формы

502

Upstream не запущен, неверный порт или сокет

Проверить PM2, PHP-FPM, Reverb и журнал Nginx

504

Upstream не ответил вовремя

Найти медленный компонент, а не только увеличить timeout

Цикл перенаправлений

Неверно передан протокол или конфликтуют правила HTTPS

Проверить Cloudflare, Nginx и доверенные заголовки

WebSocket не подключается

Нет Upgrade или указан неверный upstream

Проверить путь Reverb и заголовки proxy

Что Nginx не заменяет

Nginx не заменяет:

  • Cloudflare и пограничную DDoS-защиту;

  • systemd для поддержания постоянных процессов;

  • pm2-runtime для клиентского SSR внутри его systemd-службы;

  • PHP-FPM для выполнения PHP;

  • базу данных и Redis;

  • логику безопасности самого приложения;

  • резервное копирование и мониторинг.

Подробная карта доменов и маршрутов приведена в «Архитектуре Nginx», сертификаты и рабочая конфигурация — в «Конфигурации Nginx и SSL», а разбор ошибок — в «Диагностике Nginx». Базовое управление Nginx описано в официальном руководстве.

Последнее обновление

Это было полезно?