Aller au contenu principal

Référence de la configuration

Les options se placent sous le nom du plugin queuemanager dans la configuration du middleware :

  • Labels Docker : traefik.http.middlewares.<name>.plugin.queuemanager.<option>=<value>
  • Provider fichier : http.middlewares.<name>.plugin.queuemanager.<option>

Les valeurs sont vérifiées quand Traefik crée le middleware. Une valeur qui échoue à une vérification bloque le middleware avec invalid QueueManager configuration: <reason>.

File​

OptionTypeDéfautVérificationDescription
enabledbooltruefalse laisse passer toutes les requêtes, sans file ni limite de débit
maxEntriesint100> 0Nombre de visiteurs admis en même temps
inactivityTimeoutSecondsint60> 0Un visiteur actif sans requête pendant cette durée perd sa place
hardSessionLimitSecondsint0≥ 0Durée maximale dans le service, comptée depuis l'entrée ou la sortie de la file. 0 la désactive
cleanupIntervalSecondsint30> 0Intervalle entre deux nettoyages : retrait des visiteurs expirés, entrée de la tête de la file

La file est toujours « premier arrivé, premier servi ». L'option queueStrategy existe, avec fifo pour seule valeur.

Page d'attente​

OptionTypeDéfautVérificationDescription
queuePageFilestring/var/public/queue-page.htmlnon videModèle HTML de la page d'attente. Absent ou invalide : page intégrée en anglais
queueTranslationsFilestring/var/public/translations.jsonTextes de la page par langue. Absent : textes vides
refreshIntervalSecondsint20> 0Intervalle de rechargement de la page d'attente, en secondes
minWaitTimeMinutesint1Minimum du temps d'attente affiché, en minutes
httpResponseCodeint429Code de la page d'attente, de la réponse JSON et de la réponse de limite de débit
httpContentTypestringtext/html; charset=utf-8Content-Type de la page d'attente

Identification des visiteurs​

OptionTypeDéfautVérificationDescription
useCookiesbooltruetrue : cookie aléatoire. false : empreinte SHA-256 de l'IP du client et de son User-Agent
cookieNamestringloch-queue-idNom du cookie, vérifié aussi par la limite de débit
cookieMaxAgeSecondsint3600Durée de vie du cookie, non renouvelée
rateLimitTimesint5Requêtes sans cookie admises par IP et par minute. 0 refuse toute requête sans cookie

Le cookie contient 16 octets aléatoires en hexadécimal, avec Path=/, HttpOnly, SameSite=Lax, et Secure quand la connexion TLS se termine sur Traefik.

Journaux​

OptionTypeDéfautVérificationDescription
logLevelstringinfodebug, info, warn ou error
debugboolfalseForce le niveau debug et remplit DebugInfo dans la page d'attente et la réponse JSON
logFilestringvideFichier auquel ajouter les journaux. Vide : sortie d'erreur standard de Traefik. Si le fichier ne peut pas être ouvert, la sortie d'erreur standard est utilisée

Exemple complet​

dynamic.yml
http:
middlewares:
queue:
plugin:
queuemanager:
enabled: true
maxEntries: 300
inactivityTimeoutSeconds: 300
hardSessionLimitSeconds: 3600
cleanupIntervalSeconds: 30
refreshIntervalSeconds: 20
minWaitTimeMinutes: 1
queuePageFile: /var/public/queue-page.html
queueTranslationsFile: /var/public/translations.json
httpResponseCode: 429
useCookies: true
cookieName: loch-queue-id
cookieMaxAgeSeconds: 7200
rateLimitTimes: 5
logLevel: warn