Примерно так (лишнее убрал):
[code]
http {
limit_req_zone $binary_remote_addr zone=two:40m rate=1r/s;
server {
location / {
limit_req zone=two;
proxy_pass http://127.0.0.1:8090;
proxy_redirect http://127.0.0.1:8090/ /;
}
}
}
[/code]
Проверяем просто - открываем страницу сайта и зажимаем f5 на пару секунд
limit_req работает странно:
- в логах все как должно быть (первый запрос 200, потом 503)
- при этом на бэкенд пробрасываются ВСЕ запросы (их видно в логах и server-status апача)
- в браузер приезжает полное тело ответа бэкенда с заголовком 503
- в логах nginx появляется строка об ответе 503 с контентом (т.е. не "503 0")
Был 0.8.1x, на всякий случай обновили до 0.8.50 - все точно так же.