- Изменено
Всем привет! Владею высоконагруженной онлайн-платформой, написанной на OctoberCMS. Программное обеспечение LEMP (Linux, Nginx, MySQL, PHP).
Проблема: из-за особенностей платформы невозможно адекватно использовать NGINX модуль limit_req.
Задача: собрать все фоновые AJAX запросы с использованием JavaScript API в одном URL вида https://domain.com/ajax
Описание: На данный момент я использую VDS и для защиты от DDoS атак арендую прокси-сервер у стороннего сервиса. Планирую перейти на выделенный сервер, отказаться от услуг DDoS защиты партнеров в пользую собственной настройки NGINX + Lua (Openresty) - т.е. защиты на стороне веб-сервера.
Изучив в консоли разработчика браузера вкладку Network, где указаны выполненные в процессе загрузки веб-сайта запросы к серверу, обнаружил, что все AJAX запросы идут на текущий URL. Т.е. на какой странице находишься - туда и пойдет.
Особенность платформы в том, что клиент создает себе настоящий онлайн-магазин (по шаблону), который доступен по адресу *.domain.com. Код магазина недоступен моим клиентам, он хранится на сервере. Сервис позволяет привязать к созданному интернет-магазину кастомный домен, который клиент заранее приобрел, путем установки А-записи в настройках DNS.
Платформа предоставляет каталог плагинов и виджетов, которые запускаются в магазине посредством фоновых AJAX запросов с использованием JavaScript API. Таким образом при переходе в магазин может отправиться на сервер одновременно 2-10 AJAX запросов.
Мне необходимо разделить основной поток запросов и параллельные AJAX запросы, чтобы адекватно настроить модуль limit_req на каждый из них.