Aller au contenu

label: Étiquettes globales clé-valeur pour la configuration dynamique

Installation

Vous pouvez installer ce module dans toute distribution basée sur RHEL, y compris, mais sans s'y limiter :

  • RedHat Enterprise Linux 7, 8, 9 et 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 et 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

Activez le module en ajoutant ce qui suit en haut de /etc/nginx/nginx.conf :

load_module modules/ngx_http_label_module.so;

Ce document décrit nginx-module-label v0.1.0 publié le 06 janvier 2026.


Synopsis

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;
        }
    }
}

Directives

label

Syntaxe : label key value;

Par défaut : aucun

Contexte : http

Définit une étiquette globale clé-valeur qui peut être accessible via des variables. La clé de l'étiquette ne peut contenir que des lettres, des chiffres et _. La même clé ne peut pas être définie plusieurs fois. La valeur de l'étiquette n'autorise pas l'utilisation de & et =.

Exemple :

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

labels_hash_max_size

Syntaxe : labels_hash_max_size number;

Par défaut : labels_hash_max_size 512;

Contexte : http

Définit la taille maximale de la table de hachage pour stocker les étiquettes.

labels_hash_bucket_size

Syntaxe : labels_hash_bucket_size number;

Par défaut : labels_hash_bucket_size 32|64|128;

Contexte : http

Définit la taille des buckets de la table de hachage pour les étiquettes. La valeur par défaut dépend de la taille de la ligne de cache du processeur. Les détails sur la configuration des tables de hachage sont fournis dans un document séparé.

Variables

$label_name

Accède à la valeur d'une étiquette spécifique par sa clé.

$labels

Retourne toutes les étiquettes définies au format key1=value1&key2=value2, comme $args. Toutes les clés d'étiquettes seront imprimées en minuscules.

GitHub

Vous pouvez trouver des conseils de configuration supplémentaires et de la documentation pour ce module dans le dépôt GitHub pour nginx-module-label.