В nginx имеются модули: ngx_http_limit_conn_module - ограничивает количество одновременных соединений с сервером ngx_http_limit_req_module - ограничивает количество запросов за единицу времени
Настройка ngx_http_limit_conn_module:
1. в секции http указывается директива limit_conn_zone
2. в секции location либо server указывается количество допустимых соединений директивой limit_conn
Пример обработки не более одного соединения с одного ip:
Пример обработки не более 10 соединений с сервером с одного ip и общего числа соединений с виртуальным сервером:
Настройка ngx_http_limit_req_module:
Избыточные запросы задерживаются до тех пор, пока их число не превысит максимальный размер всплеска
При превышении запрос завершается с ошибкой
1. в секции http указывается директива limit_req_zone
2. в секции http, location либо server указывается директива limit_req
Пример обработки в среднем не более 5 запросов в секунду со всплесками не более 10 запросов:
Если избыточные запросы в пределах лимита всплесков задерживать не требуется, указываем параметр nodelay:
Пример ограничивает скорость обработки запросов с одного ip, и обработки запросов c виртуальным сервером:
Комментарии пользователей
Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!