HAproxy Traffic direkt zu Clients

Apache, Lighttpd, nginx, Cherokee
Nils_
Posts: 7
Joined: 2012-07-08 14:26

HAproxy Traffic direkt zu Clients

Post by Nils_ » 2012-07-08 14:33

Hallo,

ich habe eben HAProxy installiert. Es läuft und Inhalte werden auch wie gewünscht ausgeliefert.

Meine Konfiguration:

Load Balancer 1 (lb1)
Web Server 1 (www1)
Web Server 2 (www2)
Storage1 (strg1)

Jetzt möchte ich aber folgendes realisieren:

Client: request -> lb1 -> lb1 sucht geeigneten Webserver aus -> Webserver hält Datei im Storage bereit.

Nun ist es ja in der Standardkonfiguration so:
www1/2 sendet die Datei an lb1 und lb1 liefert die Datei an den Client. Das Problem was ich hier sehe ist, dass der lb1 dann extrem viel Bandbreite zu verwalten hat, und der load ja dann im Endeffekt wieder NUR auf den Loadbalancer trifft.

Ist es möglich dem Webserver beizubringen, dass er NICHT den lb1 benutzt sondern, wie erhofft, die Datei selber ausliefert?

So wäre dann auch meine Konfiguration sinnvoll, andernfalls müsste ich ja dann quasi für jeden Webserver fast einen neuen loadbalancer anschaffen?


Vielen Dank für die Hilfe :D!

Nils_

ddm3ve
Moderator
Moderator
Posts: 1142
Joined: 2011-07-04 10:56

Re: HAproxy Traffic direkt zu Clients

Post by ddm3ve » 2012-07-08 15:21

Ja grundsätzlich schon, Du kannst dies ja ggf. über den Webserver / Applikation direkt regeln und legst dir eine Subdomain an.

img01.meinedomain.de
Der Content, Dateien wird dann eben in die Webseiten mit dem vollständigen Link inkl. FQDN eingebunden.
Hierbei musste Du dann jedoch die jeweiligen Nodes unabhängig voneinander konfigurieren, bzw. das muss Deine Applikation dann auch unterstützen.

Eine andere Möglichkeit wäre im Round Robin vefahren abwechselnde ein rewrite oder redirect auf die Zieladresse. Das wiederum sieht man auch öfters. ww1.meinedomain.de ww2.meinedomain.de

Die andere Möglichkeit wäre, auf dem lb das Caching sauber ein zu stellen und das Gesamtsystem durch z.B. mod_cache zu entlasten.
Eine Kombination aus beidem, wird dann das Optimum aus Deiner Anforderung.
Last edited by ddm3ve on 2012-07-08 15:25, edited 1 time in total.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.

Nils_
Posts: 7
Joined: 2012-07-08 14:26

Re: HAproxy Traffic direkt zu Clients

Post by Nils_ » 2012-07-08 15:55

Hey,

Achso, ich vergaß... Es handelt sich bei den ausgelieferten Dateien von Webserver dann schlussendlich um Downloads und es gibt zwei Benutzergruppen, welche verschiedenen Limits unterliegen (authentifiziert und nicht authentifiziert).

Würde ja einen unterschied bei deiner vorgeschlagenen Methode machen, wenn ich dich richtig verstanden hab, da ich dies ja dann nicht direkt in die Seite einbinden kann, oder?

Gruß,
Nils_
Last edited by Nils_ on 2012-07-08 16:09, edited 1 time in total.

ddm3ve
Moderator
Moderator
Posts: 1142
Joined: 2011-07-04 10:56

Re: HAproxy Traffic direkt zu Clients

Post by ddm3ve » 2012-07-08 22:53

Du kannst doch vor der autentifizierung der Benutzer direkt mit dem zuständigen Webserver verbinden.

Das war die Methode, welche ich meinte von wegen pr Round Robin verfahen, den Anwender per redirect an den jeweiligen Webserver weiter leiten.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.

Nils_
Posts: 7
Joined: 2012-07-08 14:26

Re: HAproxy Traffic direkt zu Clients

Post by Nils_ » 2012-07-08 23:25

Okay, das macht Sinn.

Aber dann sieht der Benutzer ja (transparent) auf welchem Server er sich gerade befindet (z.B. in der Adressleiste des Browsers (ww1.xyz.de oder ww2.xyz.de)), oder verstehe ich dich gerade falsch?

Wenn ich z.B. bei Rapidshare.com eine Datei herunterlade (nur als Beispiel, da es hier am offensichtlichsten ist) kommt diese Datei selbst von <server_nummer_489243>.rs.com. Ich selber befinde mich aber (jedenfalls in der Adresszeile) auf RS.com?

ddm3ve
Moderator
Moderator
Posts: 1142
Joined: 2011-07-04 10:56

Re: HAproxy Traffic direkt zu Clients

Post by ddm3ve » 2012-07-09 09:34

Wenn Du damit ein Problem hast, dass der Endkunde mit bekommt, dass Du mehrere Server hat, dann musst Du dir was anderes einfallen lassen.

Natürlich kannst Du auch nur, sofern es Deine Applikation unterstützt, den Downloadlink der Datei auf die jeweils zuständige Maschine an den Client ausliefern.
Ob sich das mit einer SSL Verbindung beisst und sich der Browser darüber beschwert, kann ich ad hoc nicht sicher sagen,. ich meine aber schon.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.

Nils_
Posts: 7
Joined: 2012-07-08 14:26

Re: HAproxy Traffic direkt zu Clients

Post by Nils_ » 2012-07-10 00:05

Okay,

vielen Dank für deine Hilfe ;-)

Gruß,
Nils_

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: HAproxy Traffic direkt zu Clients

Post by daemotron » 2012-07-12 10:44

ddm3ve wrote:Ob sich das mit einer SSL Verbindung beisst und sich der Browser darüber beschwert, kann ich ad hoc nicht sicher sagen,. ich meine aber schon.

Ein definitives "vielleicht" :wink:. Solange das verwendete Zertifikat auf einen FQDN ausgestellt ist, meckert der Browser natürlich, weil der CN im Zertifikat nicht zum FQDN des jeweiligen App-Servers passt.

Man könnte in so einem Szenario mit Wildcard-Zertifikaten arbeiten und die öffentlichen FQDNs der App-Server entsprechend wählen. Dann schlucken die meisten Browser das, da jeder Inhalt über eine korrekt SSL-gesicherte Verbindung kommt. Alternativ kann man natürlich jedem App-Server ein eigenes Zertifikat spendieren, das auf dessen öffentlich erreichbaren FQDN ausgestellt ist. Da Wildcard-Zertifikate recht teuer sind, kann sich diese Variante durchaus lohnen, wenn man nur sehr wenige App-Server betreibt.
“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time

Nils_
Posts: 7
Joined: 2012-07-08 14:26

Re: HAproxy Traffic direkt zu Clients

Post by Nils_ » 2012-07-12 22:06

Also der Ansatz wäre ja dann folgender, oder?

Speichere Dateipfad irgendwo in der Datenbank, bei Request liefere es dem Client aus? Funktioniert das einfach so? Wie verhindere ich dann den direkten Aufruf der Datei auf z.B. ww1.domain.de/file.jpg?

ddm3ve
Moderator
Moderator
Posts: 1142
Joined: 2011-07-04 10:56

Re: HAproxy Traffic direkt zu Clients

Post by ddm3ve » 2012-07-12 23:45

Über eine sessionid.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.