label: Глобальные ключ-значение метки для динамической конфигурации
Установка Debian/Ubuntu
Эти документы применимы к пакету APT nginx-module-label, предоставляемому репозиторием GetPageSpeed Extras.
- Настройте репозиторий APT, как описано в настройке репозитория APT.
- Установите модуль:
sudo apt-get update
sudo apt-get install nginx-module-label
Показать дистрибутивы и архитектуры
| Дистрибутив | Версия | Компонент | Архитектуры |
|-------------|-------------------|-------------|-----------------|
| debian | bookworm | main | amd64, arm64 |
| debian | bookworm-mainline | main | amd64, arm64 |
| debian | trixie | main | amd64, arm64 |
| debian | trixie-mainline | main | amd64, arm64 |
| ubuntu | focal | main | amd64, arm64 |
| ubuntu | focal-mainline | main | amd64, arm64 |
| ubuntu | jammy | main | amd64, arm64 |
| ubuntu | jammy-mainline | main | amd64, arm64 |
| ubuntu | noble | main | amd64, arm64 |
| ubuntu | noble-mainline | main | amd64, arm64 |
Название
ngx_http_label_module позволяет определять глобальные ключ-значение метки в конфигурации Nginx. Эти метки могут использоваться в переменных для обработки запросов, ведения журналов или динамической конфигурации.
Содержание
- ngx_http_label_module
- Название
- Содержание
- Статус
- Синопсис
- Установка
- Директивы
- label
- labels_hash_max_size
- labels_hash_bucket_size
- Переменные
- $label_name
- $labels
- Автор
- Лицензия
Статус
В данный момент этот модуль Nginx считается экспериментальным. Проблемы и PR приветствуются, если вы столкнулись с какими-либо проблемами.
Синопсис
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. Все ключи меток будут напечатаны строчными буквами.