У меня есть настройка роя докеров на нескольких узлах (точнее, 6), в которых есть 3 контейнера, на которых запущен nginx. Я хочу ограничить скорость моей конечной точки аутентификации, используя встроенный nginx limit_req_zone
функциональность. Я понимаю, что он использует пространство общей памяти, чтобы другие экземпляры nginx могли использовать то же самое. zone
. Проблема в том, что, поскольку контейнеры работают на других узлах, они не используют пространство разделяемой памяти. Есть ли способ связать эти контейнеры для использования одного и того же пространства общей памяти? Вот сокращенная версия конфигурации nginx:
limit_req_zone $binary_remote_addr zone=authlimit:10m rate=6r/m;
server {
location = /api/auth {
limit_req zone=authlimit burst=8 delay=6;
set $url http://gateway/api/auth;
proxy_pass $url;
}
}