evilmoe
Goto Top

Ngninx upstream redirect statt proxy pass

Hallo,

Aufgabe: Ich möchte den Traffic von einem Server auf mehrere Server aufteilen. Das Dateisystem ist auf allen Servern vorhanden. Nun hänge ich an Nginx fest.
Die config sieht bisher so aus:
upstream storages {
        least_conn;

        server str1 weight=1 max_fails=1 fail_timeout=10s;
        server str2 weight=1 max_fails=1 fail_timeout=10s;
}



server {
        listen 80;

        server_name verteilen;

        location / {
                proxy_pass http://storages;
                #return 302 $scheme:{{comment_single_line_double_slash:0}}
        }
}

Das würde so auch funktionieren, allerdings geht halt der gesamte Traffic durch den Server "verteilen". Statt jetzt proxy_pass möchte ich einfach eine Weiterleitung an den Client senden damit der Traffic direkt über str1 oder str2 läuft. Aber beim return kennt er die Variable "storages" nicht.

Jemand eine Idee?


Sven

Content-ID: 272190

Url: https://administrator.de/contentid/272190

Ausgedruckt am: 24.11.2024 um 18:11 Uhr

Dani
Dani 17.05.2015 aktualisiert um 16:06:10 Uhr
Goto Top
Hallo Sven,
hast du es schon mit rewrite versucht? Beispiel:
rewrite ^ $scheme:/storages break;

Ich kenn die Problematik bezogen auf ein CDN-System mit Ngnix.


Gruß,
Dani
EvilMoe
EvilMoe 17.05.2015 aktualisiert um 16:08:49 Uhr
Goto Top
Zitat von @Dani:

Hallo Sven,
hast du es schon mit rewrite versucht? Beispiel:
rewrite ^ $scheme:/storagesi break;

Hallo Dani,
Selbe Problem, er leitet einfach stur nach "http://storages" weiter.

Ich kenn die Problematik bezogen auf ein CDN-System mit Ngnix.
Klingt interessant, allerdings hat meine Methode auch einen "Health Check", den ich auch gerne behalten möchte.
Dani
Dani 17.05.2015 um 17:52:58 Uhr
Goto Top
Das Feature das du sucht heißt Loadbalancing mit Direct Routing. Sowohl Ngnix als auch haproxy bieten wohl in der Richtung nichts.
Aber das Tool keepalived bietet in der Richtung etwas an. Selber noch nie eingesetzt, aber deinen Wunsch "Health Check" lässt sich abbbilden.


Gruß,
Dani