Как настроить nginx, чтобы при превышении определенного количества запросов он отдавал запрос не php-fpm, а другому серверу?
Доброго времени суток.
Подскажите, пожалуйста, куда копать и какие модули и конфиги смотреть для nginxа, что бы решить следующую задачку:
Есть сервер nginx+php-fpm. На него приходят запросы для отображения лежащего на нем сайта. Необходимо при превышении определенного числа запросов не обрабатывать их, а передавать на другой сервер. Причем, на этом сервере стоит фильтрация трафика (защита от ddos), и он вернет хорошие запросы назад на первый сервер, который уже должен корректно их обработать.
С nginx ранее не общался и решения сходу загуглить не удалось, буду благодарен за наводку. Спасибо!
Спасибо, эту секцию доков я читал, мне не понятно как организовать правило, которое бы в случае превышения кол-ва запросов на первый сервер, запросы уходили на второй, причем все запросы от второго к первому серверу должны обрабатываться всегда на первом.
Если именно запросов то стоит посмотреть на ngx_http_limit_req_module
Если более конкретно, то при достижении лимита выкидываете какую либо ошибку, которая определяется параметром limit_req_status, а дальше просто переопределяете для неё error_page на какой нибудь именованный локейшен, в котором делаете fastcgi_pass уже на другой upstream.
По идее должно сработать :) Попробуйте.