Ich möchte einige Konfigurationsänderungen an der Einweg-Synchronisation zwischen zwei Servern testen, die sich hinter einem Load Balancer befinden (dies ist alles zu Ihrer Information: Rackspace Cloud-Infrastruktur). Das Problem, das ich habe, ist, dass ich nicht sagen kann, auf welchen Server ich einen Lastenausgleich erhalten habe, da die IP, die mir gegeben wird, immer die IP des Lastenausgleichs ist.
Gibt es eine einfache (oder gar nicht sehr einfache) Möglichkeit, festzustellen, auf welchen Server ich tatsächlich verwiesen wurde? Ich würde im Idealfall etwas im Browser mögen, da dies bedeutet, dass nicht-technische Teammitglieder Probleme auch relativ einfach melden können, aber alle Ideen zu den besten Ansätzen hierfür wären willkommen.
Zusätzliche Informationen: Auf beiden Servern wird Apache ausgeführt und für den Load Balancer ist die Sitzungspersistenz konfiguriert.
Sie geben nicht an, welches Protokoll Sie verwenden, daher gehe ich davon aus, dass es sich um https handelt.
Jedes Backend kennt wahrscheinlich einige Informationen über sich selbst, die dieses Backend eindeutig identifizieren würden. Dies kann ein Hostname oder eine Unicast-IP-Adresse sein. Das Backend kann diese Informationen an geeigneten Stellen enthalten. Sie können es in eine Fußzeile auf jeder Seite einfügen. Wenn Sie der Meinung sind, dass dies zu sichtbar ist, fügen Sie es nur auf Seiten ein, die Benutzer unter normalen Umständen nicht besuchen würden. Jede Fehlerseite (404, 500 usw.) sollte immer eine Backend-Identifikation enthalten.
Wenn Ihr Load Balancer nur Load Balancing ist und nichts anderes tut, beenden Sie https im Backend. Wenn eine TCP-Verbindung geschlossen wird und der Client erneut eine Verbindung herstellt, besteht die Möglichkeit, dass der Client zu einem anderen Backend geleitet wird.
Der Load Balancer konnte sich das zuletzt verwendete Backend für alle Client-IP-Adressen merken, die innerhalb der letzten Stunde angezeigt wurden, um das gleiche Backend die meiste Zeit wiederzuverwenden. Detailliertere Informationen wie Cookies und Benutzer-ID sind für den Load Balancer nicht erreichbar, sodass er einen Benutzer nicht im selben Backend halten kann.
Dies bedeutet, dass jede Identifizierung, welches Backend ein Benutzer verwendet, mit einem Körnchen Salz erfolgen sollte, da der Benutzer zwischen dem Zeitpunkt, an dem ein Problem aufgetreten ist, und dem Zeitpunkt, an dem er herausgefunden hat, welches Backend er verwendet hat, zwischen den Backends wechseln konnte. Es handelt sich jedoch immer noch um wertvolle Informationen, da in den meisten Fällen relevante Protokolle schneller gefunden werden können.
quelle