Архитектура Nginx
Схема Nginx для клиентского сайта, панели, API, файлов и канала реального времени
Nginx является единой публичной точкой входа iEXExchanger. Он завершает HTTPS, выбирает сайт по имени домена, отдаёт статические файлы и передаёт динамические запросы нужному внутреннему процессу.
Базовые роли веб-сервера, reverse proxy и FastCGI объяснены в статье «Что такое Nginx».
Карта трафика
ваш_домен/
SSR-процесс клиентского сайта
Подтверждённые пути API на ваш_домен
Серверная часть iEXExchanger
Подтверждённые пути файлов
Разрешённые каталоги статических файлов
Подтверждённый путь реального времени
Внутренний процесс Reverb с WebSocket
app.ваш_домен
Публичный каталог PHP-приложения через FastCGI
Пути API, файлов и канала реального времени берите из текущей поставки и активной конфигурации. Не создавайте широкое правило вида «всё с /api» без сверки: оно может перехватить клиентский маршрут или отправить приватный адрес не тому приложению.
Граница публичного доступа
Nginx слушает публичные 80 и 443. SSR, PostgreSQL, Redis и Reverb слушают только loopback или защищённую приватную сеть. Их внутренние порты обозначаются как <SSR_PORT> и <REALTIME_PORT> и не открываются в сетевом экране.
Cloudflare, если он включён, подключается к Nginx по HTTPS. Nginx не должен перенаправлять публичный запрос обратно через Cloudflare к тому же серверу без явной необходимости: такая петля усложняет диагностику и правила доступа.
Владение конфигурацией
На чистой установке виртуальные хосты создаёт установщик iEXExchanger. Перед изменением определите активный файл и проверьте, не будет ли он заменён при обслуживании или обновлении. На существующем сервере с FASTPANEL отдельно выясните, какие файлы генерирует панель и какой include предназначен для пользовательских вставок.
Активную конфигурацию показывают команды:
nginx -t проверяет синтаксис и возможность открыть используемые файлы. nginx -T дополнительно выводит всю конфигурацию; не публикуйте его вывод без очистки доменов, путей и заголовков. Назначение ключей описано в официальном справочнике Nginx.
Основные требования
Для каждого публичного домена должен существовать один однозначный HTTPS-vhost. В нём проверяются:
server_nameбез чужих доменов;сертификат для этого имени;
корректный корневой или proxy backend;
ограничение размера запроса по требованиям загрузок;
заголовки исходного протокола и адреса;
WebSocket Upgrade для канала реального времени;
отдельные журналы доступа и ошибок;
отсутствие выдачи скрытых файлов и файла окружения.
Размер запроса согласуйте с лимитом загрузок в PHP и в настройках приложения. Увеличение только client_max_body_size не исправит меньший лимит PHP или проверку самой формы.
Порядок изменения маршрута
Определите URL и ожидаемый компонент.
Найдите активный vhost через
nginx -T.Выберите поддерживаемый текущей схемой файл или пользовательский include, который не перезаписывается.
Скопируйте изменяемый файл в резервную копию с датой.
Внесите минимальное правило.
Выполните
sudo nginx -t.Выполните
sudo systemctl reload nginx.Проверьте точный URL и соседние маршруты.
При ошибке верните файл, снова выполните тест и reload.
Reload применяет новую конфигурацию без принудительного обрыва обслуживаемых соединений; модель перечитывания конфигурации описана в руководстве Nginx.
Последнее обновление
Это было полезно?