Рейтинг:0

Избегайте лимита запросов для CDN-соединений на сервере NGINX

флаг jp

Мне нужно регулировать соединения/запросы на сервере NGINX как для запросов http, так и для http2. Однако регулирование не должно применяться к конкретным IP-адресам CDN (которые уже указаны в геоблоке).

У меня есть следующая конфигурация для ограничения запросов http/http2, когда конкретное требование CDN отсутствует.

карта $http2 $http1connlimitkey {
    По умолчанию "";
    "" $binary_remote_addr;
}

карта $http2 $http2connlimitkey {
    по умолчанию $binary_remote_addr;
    """";
}

Любой из http1connlimitkey и http2connlimitkey ключ установлен на двоичный_удаленный_адрес в зависимости от типа соединения.

Теперь, независимо от типа соединения, если соединение исходит из CDN, мне нужно установить указанные выше ключи пустыми, чтобы избежать регулирования соединения.

Я следую подходу, указанному в этом решении Как ограничить скорость в nginx, но включая/исключая определенные IP-адреса? для отображения источника запроса.

гео $ белый список {
 по умолчанию 0;
 # CIDR в списке ниже не ограничены
 1.2.3.0/24 1;
 9.10.11.12/32 1;
}
карта $ белый список $ лимит {
 0 $binary_remote_addr;
 1 "";
}

Как установить http1connlimitkey и http2connlimitkey чтобы очистить, если запрос от CDN.

Один из способов, которым я думаю, - это иметь карту, как показано ниже.

карта $ белый список $ cdn {
 0 ""
 1 «КДН»;
}

карта "$cdn$http2" $http1connlimitkey {
    "^CDN" ""
    "" $binary_remote_addr;
    По умолчанию "";
}

карта "$cdn$http2" $http2connlimitkey {
    "^CDN" ""
    по умолчанию $binary_remote_addr;
    """";
}

Любой другой лучший способ справиться с тем же. Мне нужно избежать ограничений http и http2 в случае, если запрос исходит из CDN.

Спасибо

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.