Gibt es eine Möglichkeit, in einem Round-Robin-Setup auf einen bestimmten Server mit dem Hostnamen zuzugreifen?

8

Ich habe eine Gruppe von Apache-Webservern, die Round-Robin für den primitiven Lastausgleich verwenden. Gibt es eine Möglichkeit, dass Firefox oder Chrome diesen Servernamen von einer bestimmten IP anfordern?

Wenn Sie nur http://1.2.3.4 eingeben, wird der Servername nicht angezeigt, und wenn Sie http: // Servername eingeben , können Sie einen der Server abrufen.

Bryan Agee
quelle
Ist das Round-Robin eine Sticky-Session-Verbindung zum Back-End-Server?
Djangofan
2
Die Antworten von Dmourati und Eduardo sind genau richtig.
Hyppy
@djangofan: Nein - die Server sind in Bezug auf die Sitzung vollständig parallel eingerichtet. Wenn einer ausfällt, kann jeder andere Server die Transaktion fortsetzen.
Bryan Agee

Antworten:

10

Ich nehme an, Sie meinen DNS-Round-Robin. In diesem Fall kann ich mir nur vorstellen, Ihre / etc / hosts so zu bearbeiten, dass sie auf das Backend verweisen, das Sie in einem bestimmten Moment ausprobieren möchten:

1.2.3.4 servername

Möglicherweise müssen Sie Ihren Browser anschließend neu starten, um sicherzustellen, dass keine zwischengespeicherte DNS-Antwort verwendet wird.

Sie können Ihrem DNS auch zusätzliche Einträge wie Servername-001, -002 usw. hinzufügen und Ihre Backends so konfigurieren, dass diese Namen als ServerAlias ​​für den gewünschten VirtualHost akzeptiert werden. Natürlich können Sie den VirtualHost auch einfach als Standard festlegen, damit er mit der IP-Adresse funktioniert, und diesen letzten Schritt weglassen, vorausgesetzt, Ihre App geht nicht davon aus, dass sie mit einem bestimmten Namen ausgeführt wird.

Bearbeiten: Dies kann nützlich sein - es ist eine Firefox-Erweiterung, mit der Sie Anforderungsheader ändern können. Sie können möglicherweise Änderungen vornehmen Host, um die Backends zu besuchen und direkt einen Servernamen anzugeben. Ich habe es aber nicht versucht.

https://addons.mozilla.org/en-us/firefox/addon/modify-headers/

Eduardo Ivanec
quelle
11

Sie müssen den HTTP-Host-Header ändern.

Sehen:

http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

Ich mache das mit Locken:

curl -H host:servername http://1.2.3.4

Die folgenden Plugins sind möglicherweise hilfreich:

https://addons.mozilla.org/en-us/firefox/addon/modify-headers/

https://addons.mozilla.org/en-US/firefox/addon/tamper-data/eula/33806

dmourati
quelle
Ich habe meinen Beitrag mit derselben URL bearbeitet, bevor ich Ihren Beitrag gesehen habe! Hoffe es macht dir nichts aus. +1 für curl.
Eduardo Ivanec
@ Eduardo, überhaupt nicht. Ich habe in letzter Zeit genau mit diesem Problem herumgespielt und selbst den Curl-Ansatz verwendet. Auf der Chromfront konnte für OP nichts Nützliches gefunden werden.
Dmourati
Auf jeden Fall +1 für die Lockenspitze. Vielen Dank!
Bryan Agee