Настроил limit_req, всё работает. Но появилась проблема: нужно добавить исключение для некоторых адресов. Дело в том, есть целый офис (естественно у всех один и тот же белый ИП) и очень много людей работает с сайтом. И получается они часто подпадают под ограничен limit_req. Почитал документацию, но так и не нашёл как добавить исключение.
Подскажите, это вообще возможно?
Заранее спасибо.
> Настроил limit_req, всё работает. Но появилась проблема: нужно добавить исключение для
> некоторых адресов. Дело в том, есть целый офис (естественно у всех
> один и тот же белый ИП) и очень много людей работает
> с сайтом. И получается они часто подпадают под ограничен limit_req. Почитал
> документацию, но так и не нашёл как добавить исключение.
> Подскажите, это вообще возможно?
> Заранее спасибо.а чо тут непонятного?
http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html
>> Настроил limit_req, всё работает. Но появилась проблема: нужно добавить исключение для
>> некоторых адресов. Дело в том, есть целый офис (естественно у всех
>> один и тот же белый ИП) и очень много людей работает
>> с сайтом. И получается они часто подпадают под ограничен limit_req. Почитал
>> документацию, но так и не нашёл как добавить исключение.
>> Подскажите, это вообще возможно?
>> Заранее спасибо.
> а чо тут непонятного?
> http://nginx.org/ru/docs/http/ngx_http_limit_req_module.htmlНепонятно как добиться исключения.
>>> Настроил limit_req, всё работает. Но появилась проблема: нужно добавить исключение для
>>> некоторых адресов. Дело в том, есть целый офис (естественно у всех
>>> один и тот же белый ИП) и очень много людей работает
>>> с сайтом. И получается они часто подпадают под ограничен limit_req. Почитал
>>> документацию, но так и не нашёл как добавить исключение.
>>> Подскажите, это вообще возможно?
>>> Заранее спасибо.
>> а чо тут непонятного?
>> http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html
> Непонятно как добиться исключения.тут задача не в nginx. требуется комплексное решение. по сути сейчас Ваша проблема в том, чтобы как-то разделить пользователей, сидящих за NAT. это в лоб не решается НИКАК без авторизации на конечном сервере - думаю Вы не такой метод решения имели в виду.
как варианты:
- второй белый ИП для шлюза клиентов и натить избранных ч/з другой ИП (дешево и сердито, но белых ИП на всех клиентов не напасешься при каждой смене задачи)
- доп. белый ИП на сервере, рулить ДНС клиентов (view для избранных - на новый ИП сервака). лучше тем, что групповая политика обработки будет определятся на сервере, но хуже тем, что ДНС клиента тюнить придется и надо иметь к нему доступ.
- тюнить iptables на шлюзе клиентов: редирект 80-http для избранных на нестандартный порт и по этому принципу разделять клиентов на nginx.
- VPN. лучшее ПРАВИЛЬНОЕ решение, если все это действительно только внутри конторы крутится.пока все, что в голову пришло.
>[оверквотинг удален]
> напасешься при каждой смене задачи)
> - доп. белый ИП на сервере, рулить ДНС клиентов (view для избранных
> - на новый ИП сервака). лучше тем, что групповая политика обработки
> будет определятся на сервере, но хуже тем, что ДНС клиента тюнить
> придется и надо иметь к нему доступ.
> - тюнить iptables на шлюзе клиентов: редирект 80-http для избранных на нестандартный
> порт и по этому принципу разделять клиентов на nginx.
> - VPN. лучшее ПРАВИЛЬНОЕ решение, если все это действительно только внутри конторы
> крутится.
> пока все, что в голову пришло.фактически, без авторизации на конечном сервере у Вас вариантов нет ососбых:
- разделение по ИП
- разделение по портамкак следствие:
- разделение ч/з ДНС клиента (опять же по ИП целевого сервера выходит)в любом случае требуется доступ к шлюзу (как минимум) на стороне клиента.
иначе клиента за НАТом никак не определить однозначно.
>>> Настроил limit_req, всё работает. Но появилась проблема: нужно добавить исключение для
>>> некоторых адресов. Дело в том, есть целый офис (естественно у всех
>>> один и тот же белый ИП) и очень много людей работает
>>> с сайтом. И получается они часто подпадают под ограничен limit_req. Почитал
>>> документацию, но так и не нашёл как добавить исключение.
>>> Подскажите, это вообще возможно?
>>> Заранее спасибо.
>> а чо тут непонятного?
>> http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html
> Непонятно как добиться исключения.Что непонятного? По ссылке же написано: "Ключом является любое непустое значение заданной переменной (пустые значения не учитываются)."
Далее geo модуль в руки и вперед: http://nginx.org/ru/docs/http/ngx_http_geo_module.html
>[оверквотинг удален]
>>>> с сайтом. И получается они часто подпадают под ограничен limit_req. Почитал
>>>> документацию, но так и не нашёл как добавить исключение.
>>>> Подскажите, это вообще возможно?
>>>> Заранее спасибо.
>>> а чо тут непонятного?
>>> http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html
>> Непонятно как добиться исключения.
> Что непонятного? По ссылке же написано: "Ключом является любое непустое значение заданной
> переменной (пустые значения не учитываются)."
> Далее geo модуль в руки и вперед: http://nginx.org/ru/docs/http/ngx_http_geo_module.htmlМодуль ngx_http_geo_module создаёт переменные, значения которых зависят от IP-адреса клиента.
далее пояснять надо? что будем делать когда все с одного ИП ч/з нат коннектятся?