Назад | Перейти на главную страницу

nginx разделяемое пространство памяти на docker swarm для ограничения скорости

У меня есть настройка роя докеров на нескольких узлах (точнее, 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;
    }
}