En-tête HTTP pour indiquer le serveur d'origine derrière l'équilibreur de charge

13

À des fins de débogage, nous aimerions configurer notre pool de serveurs Web à charge équilibrée pour produire un en-tête HTTP identifiant le "vrai" serveur qui a servi la demande. Cependant, nous ne savons pas quel nom d'en-tête cela devrait être! Y a-t-il un en-tête préexistant pour cela? Avez-vous un favori?

Edward Z. Yang
la source

Réponses:

18

AFAIK il n'y a pas de norme formelle pour cela. Ce que j'ai vu c'est:

  • Un en-tête HTTP personnalisé. Il est vraiment votre choix aussi longtemps que vous restez dans l'espace de noms X- . Personnellement, X-Backend-Serverc'est descriptif et cela semble populaire .

  • Écriture de l'ID du serveur principal dans un commentaire HTML à la fin du corps du contenu.

Mise à jour: J'ai trouvé cette enquête sur les en-têtes HTTP dans la nature à partir de 2011. Ma suggestion X-Backend-Serverest le numéro 119, tandis que le X-Server-Name numéro 56 de la liste . Je dirais donc que X-Server-Namel'en-tête est le plus courant pour cela.

Jesper M
la source
1
Notez que le préfixe X était obsolète: tools.ietf.org/html/rfc6648
Edward Z. Yang
@Edward Z. Yang: Bon commentaire. De ce RFC, section 1, puce 4: "Ne fait aucune recommandation quant à savoir si les paramètres" X- "existants doivent rester en service ou être migrés [...]". En l'absence de nouvelles implémentations (que je ne connais pas), je m'en tiendrai personnellement à X-Backend-Server ou à un en-tête "X-" similaire. :-)
Jesper M
4
Le fait est que, indépendamment du fait que les en-têtes "X-" soient officiels, obsolètes ou quoi que ce soit d'autre, ils ne cassent rien et sont très utiles à des fins telles que celle qui est demandée ici. Bref, c'est très bien de les utiliser.
John Gardeniers
1
Il semble que X-Served-By soit en fait plus utilisé à ce jour, selon ce rapport.
Brian Wigginton
4
Liens rompus ...
slm