times_new_nginx/configuration/limit_req_zones.conf

29 lines
2.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Описание зон ограничения количества запросов
#Используем переменную NGINX $binary_remote_addr, которая содержит двоичное представление IP-адреса клиента.
#Это означает, что мы ограничиваем каждый уникальный IP-адрес частотой запросов, определенной третьим параметром rate.
#(Используем эту переменную, потому что она занимает меньше места, чем строковое представление IP-адреса клиента, $remote_addr).
#Информация о состоянии примерно для 16 000 IP-адресов занимает 1МБайт,
#поэтому созданная зона может хранить около 160 000 адресов.
#Тут частота не может превышать 10 запросов в секунду 10 request/second.
#NGINX фактически отслеживает запросы с точностью до миллисекунды,
#поэтому этот предел соответствует 1 запросу каждые 100 миллисекунд (мс).
#Запрос отклоняется, если он поступает менее чем через 100 мс после предыдущего разрешенного.
limit_req_zone $binary_remote_addr zone=global_limits:10m rate=10r/s;
#Директива limit_req_zone задает параметры ограничения скорости и зоны общей памяти,
#но на самом деле не ограничивает скорость запросов. Для этого нужно применить ограничение
#к определенному блоку location или server, включив туда директиву limit_req.
#Например
# server {
# location /login/ {
# limit_req zone=mylimit;
# proxy_pass http://my_upstream;
# }
# }