Nginx — динамическое управление upstream

Если вы хотите динамически управлять upstream в nginx через API без перезагрузки и релоада, то вам поможет этот модуль.

Пример конфигурации upstream в nginx

upstream backends {
    zone zone_for_backends 1m;
    server 127.0.0.1:6001;
    server 127.0.0.1:6002;
    server 127.0.0.1:6003;
}

Пример настройка для доступа к API

server {
    listen 6000;
    location /dynamic {
	allow 127.0.0.1;
	deny all;
        dynamic_upstream;
    }
}

Пример вызова:

$ curl "http://127.0.0.1:6000/dynamic?upstream=zone_for_backends"

Ответ:

server 127.0.0.1:6001;
server 127.0.0.1:6002;
server 127.0.0.1:6003;

С помощью API вы сможете посмотреть список серверов в upstream, добавить, удалить, выключить, включить и изменить параметры сервера.
Более подробно можно посмотреть на странице проекта ngx_dynamic_upstream.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *