HTTP-Header zur Angabe des Ursprungsservers hinter dem Load Balancer

13

Zu Debugging-Zwecken möchten wir unseren Pool von lastausgeglichenen Webservern so konfigurieren, dass ein HTTP-Header ausgegeben wird, der den "wahren" Server identifiziert, der die Anfrage bedient hat. Wir wissen jedoch nicht, welcher Headername dies sein soll! Gibt es dafür bereits einen Header? Hast du einen Favoriten?

Edward Z. Yang
quelle

Antworten:

18

AFAIK gibt es keinen formalen Standard dafür. Was ich gesehen habe ist:

  • Ein benutzerdefinierter HTTP-Header. Es ist wirklich Ihre Wahl, solange Sie im X-Namespace bleiben . Für mich persönlich X-Backend-Serverist beschreibend, und es scheint beliebt .

  • Schreiben der Back-End-Server-ID in einen HTML-Kommentar am Ende des Inhaltskörpers.

Update: Ich fand diese Umfrage unter HTTP-Headern ab 2011 in freier Wildbahn . Mein Vorschlag X-Backend-Serverist Nummer 119, während X-Server-Name Nummer 56 auf der Liste steht . Also würde ich sagen, X-Server-Namescheint der häufigste Header dafür.

Jesper M
quelle
1
Beachten Sie, dass das X-Präfix veraltet war: tools.ietf.org/html/rfc6648
Edward Z. Yang
@ Edward Z. Yang: Guter Kommentar. Aus diesem RFC, Abschnitt 1, Punkt 4: "Keine Empfehlung, ob vorhandene" X- "Parameter weiterhin verwendet oder migriert werden sollen [...]". Ohne neuere Implementierungen (von denen ich nichts weiß) würde ich persönlich bei X-Backend-Server oder einem ähnlichen "X-" Header bleiben. :-)
Jesper M
4
Der eigentliche Punkt ist, dass die "X" -Header unabhängig davon, ob sie offiziell, veraltet oder anderweitig sind, nichts kaputt machen und für Zwecke wie den hier gestellten sehr nützlich sind. Kurz gesagt, es ist vollkommen in Ordnung, sie zu benutzen.
John Gardeniers
1
Laut diesem Bericht wird X-Served-By anscheinend ab heute mehr verwendet.
Brian Wigginton
4
Links kaputt ...
slm