Перейти к содержанию

label: Глобальные ключ-значение метки для динамической конфигурации

Установка

Вы можете установить этот модуль в любом дистрибутиве на базе RHEL, включая, но не ограничиваясь:

  • RedHat Enterprise Linux 7, 8, 9 и 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 и Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-label
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-label

Включите модуль, добавив следующее в начало файла /etc/nginx/nginx.conf:

load_module modules/ngx_http_label_module.so;

Этот документ описывает nginx-module-label v0.1.0, выпущенный 6 января 2026 года.


Синопсис

http {
    label environment production;
    label cluster_id my_cluster_id;
    label server_region us-east-1;
    label server_id my_server_id;
    label ...

    server {
        listen 80;
        server_name example.com;
        location / {
            add_header Server-Id $label_server_id;
            add_header Cluster-Id $label_cluster_id;
            add_header All-Labels $labels;
            return 204;
        }
    }
}

Директивы

label

Синтаксис: label key value;

По умолчанию: нет

Контекст: http

Определяет глобальную метку ключ-значение, доступную через переменные. Ключ метки может содержать только буквы, цифры и _. Один и тот же ключ не может быть определен несколько раз. Значение метки не допускает использование & и =.

Пример:

label environment production;
label region us-east-1;

labels_hash_max_size

Синтаксис: labels_hash_max_size number;

По умолчанию: labels_hash_max_size 512;

Контекст: http

Устанавливает максимальный размер хэш-таблицы для хранения меток.

labels_hash_bucket_size

Синтаксис: labels_hash_bucket_size number;

По умолчанию: labels_hash_bucket_size 32|64|128;

Контекст: http

Устанавливает размер корзины хэш-таблицы для меток. Значение по умолчанию зависит от размера линии кеша процессора. Подробности о настройке хэш-таблиц приведены в отдельном документе.

Переменные

$label_name

Получает значение конкретной метки по ее ключу.

$labels

Возвращает все определенные метки в формате key1=value1&key2=value2, как $args. Все ключи меток будут напечатаны строчными буквами.

GitHub

Вы можете найти дополнительные советы по конфигурации и документацию для этого модуля в репозитории GitHub для nginx-module-label.