Я пытаюсь настроить процесс для команды разработчиков, чтобы установить стандарты для API в тестовой среде, используя nginx (который используется в качестве обратного прокси-сервера), чтобы проверить производительность API и убедиться, что какой-либо плохой код подталкивает к серверу, API возвращает 504, устанавливая соответствующее значение proxy_read_timeout
Итак, я думаю иметь 3 категоризованных списка API, определенных на другой карте следующим образом:
map $uri $timeout_within_200ms {
~^api/v0/a2/ 2;
}
map $uri $timeout_within_300ms {
~^api/v0/a3/ 3;
}
map $uri $timeout_within_400ms {
~^api/v0/a4/ 4;
}
Сейчас в в директиве location я хочу установить для proxy_read_timeout соответствующее время в мс.
Согласно документации nginx, переменная из map не может использоваться для установки значения для proxy_read_timeout.
Я читал о «ЕСЛИ», и в этом случае его нельзя использовать. Таким образом, единственный вариант - создать три разных блока местоположения.
Как я могу создать три блока директивы местоположения, чтобы извлечь URI из соответствующих карт и установить соответствующий proxy_read_timeout? Regex будет сложно реализовать. Есть ли лучший способ для достижения цели?