Apache2.4 ReverseProxy und LoadBalance httpd.conf

Alles, was den Apache betrifft, kann hier besprochen werden.

Apache2.4 ReverseProxy und LoadBalance httpd.conf

Postby YadosRalf » 16. July 2019 16:19

Hallo,

wir haben eine Kombination aus Servern,
welche für die Abarbeitung von Vorgängen gedacht sind.
Aufgrund von Ausfallsicherheit möchten wir mehrere Worker zur Verfügung stehen haben.
Die Aufrufe der projektspezifischen Vorgänge sollen an eine zentrale Adresse gehen.

app ist eine Applikation, welche duch Aufrufe von
http://server0:85/app/?project=PROJEKT1&user=USER1&Beleg=1111111111&POS=000010
http://server0:85/app/?project=PROJEKT2&user=USER2&Beleg=2222222222&POS=000022
http://server0:85/app/?project=PROJEKT3&user=USER3&Beleg=1111111111&POS=000010
http://server0:85/app/?project=PROJEKT4&user=USER4&Beleg=1111111111&POS=000010
projektspezifisch aufgerufen werden soll und noch weitere Parameter übernehmen soll.

Antworten der app sehen teilweise so aus:
http://server0:85/app/content.php?action=GetHtmlCode&cid=6#Maske1

Die Projekte Projekt1, Projekt2, Projekt3, Projekt4
stehen nicht immer und auf allen Servern zur Verfügung.

Projekt1 und Projekt2 stehen nicht auf server1 zur Verfügung.
Projekt3 und Projekt4 stehen nicht auf server3 zur Verfügung.

Leider funktioniert unsere <httpd.conf> nicht so, wie wir es uns wünschen würden.
Teilweise startet die app nicht.

Es wäre schön, wenn sich ein Konfigurationsprofi unsere httpd.conf einmal anschauen könnte
und uns weiterhelfen bzw. auch Alternativen zur Umsetzung aufzeigen könnte.

Vielen Dank schon einmal an denjenigen, der sich die Mühe machen sollte,
sich hier reinzudenken!

Grüße Ralf


------------------------------------------------------------------------------
Serverkonfigurationen:
(alle physisch getrennt, unterschiedliche Namen und IP, alle eigene Apache2.4 )

Server0: (Proxy und LoadBalancer)
Servername: server0
ServerPort: 85
DocumentRoot: C:/apache24/htdocs

Server1: (Worker)
Servername: server1
ServerPort: 90
DocumentRoot: C:/apache24/htdocs/app

Server2: (Worker)
Servername: server2
ServerPort: 90
DocumentRoot: C:/apache24/htdocs/app

Server3: (Worker)
Servername: server3
ServerPort: 90
DocumentRoot: C:/apache24/htdocs/app

httpd.conf Ausschnitt:
Code: Select all
#----------------------------------------------------------------------   
# make it sticky
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED

#----------------------------------------------------------------------   
# rewrite engine
RewriteEngine on

RewriteCond %{QUERY_STRING} ^project=PROJEKT1 [NC]
RewriteRule "^/(.*)$" "balancer://projekt1" [P,L]
ProxyPassReverse / balancer://projekt1

RewriteCond %{QUERY_STRING} ^project=PROJEKT2 [NC]
RewriteRule "^/(.*)$" "balancer://projekt2" [P,L]
ProxyPassReverse / balancer://projekt2

RewriteCond %{QUERY_STRING} ^project=PROJEKT3 [NC]
RewriteRule "^/(.*)$" "balancer://projekt3" [P,L]
ProxyPassReverse / balancer://projekt3

RewriteCond %{QUERY_STRING} ^project=PROJEKT4 [NC]
RewriteRule "^/(.*)$" "balancer://projekt4" [P,L]
ProxyPassReverse / balancer://projekt4

#----------------------------------------------------------------------   
# balancer(cluster)

<Proxy balancer://projekt1>
   #BalancerMember http://server1:90/app/ route=1
   BalancerMember http://server2:90/app/ route=2
   BalancerMember http://server3:90/app/ route=3
   ProxySet lbmethod=byrequests
   # make it sticky
   ProxySet stickysession=ROUTEID
</Proxy>

<Proxy balancer://projekt2>
   #BalancerMember http://server1:90/app/ route=1
   BalancerMember http://server2:90/app/ route=2
   BalancerMember http://server3:90/app/ route=3
   ProxySet lbmethod=byrequests
   # make it sticky
   ProxySet stickysession=ROUTEID
</Proxy>

<Proxy balancer://projekt3>
   BalancerMember http://server1:90/app/ route=1
   BalancerMember http://server2:90/app/ route=2
   #BalancerMember http://server3:90/app/ route=3
   ProxySet lbmethod=byrequests
   # make it sticky
   ProxySet stickysession=ROUTEID
</Proxy>

<Proxy balancer://projekt4>
   BalancerMember http://server1:90/app/ route=1
   BalancerMember http://server2:90/app/ route=2
   #BalancerMember http://server3:90/app/ route=3
   ProxySet lbmethod=byrequests
   # make it sticky
   ProxySet stickysession=ROUTEID
</Proxy>

#----------------------------------------------------------------------   
# balancer-manager

<Location "/balancer-manager">   
    SetHandler balancer-manager   
    Require all granted   
</Location>
YadosRalf
 
Posts: 3
Joined: 16. July 2019 16:07
XAMPP version: 2.4
Operating System: Windows

Re: Apache2.4 ReverseProxy und LoadBalance httpd.conf

Postby Nobbie » 16. July 2019 21:39

YadosRalf wrote:Es wäre schön, wenn sich ein Konfigurationsprofi unsere httpd.conf einmal anschauen könnte
und uns weiterhelfen bzw. auch Alternativen zur Umsetzung aufzeigen könnte.

Vielen Dank schon einmal an denjenigen, der sich die Mühe machen sollte,


Wie hoch ist denn das Budget für einen Profi, den man dafür anstellen muss?
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Apache2.4 ReverseProxy und LoadBalance httpd.conf

Postby YadosRalf » 17. July 2019 07:57

Nobbie wrote:Wie hoch ist denn das Budget für einen Profi, den man dafür anstellen muss?


Wir setzen hauptsächlich Open Source Software ein, um Kosten zu sparen, wenn das schon mal indirekt Deine Frage beantwortet ;-)

Grüße Ralf
YadosRalf
 
Posts: 3
Joined: 16. July 2019 16:07
XAMPP version: 2.4
Operating System: Windows

Re: Apache2.4 ReverseProxy und LoadBalance httpd.conf

Postby Altrea » 17. July 2019 11:11

Was Nobbie damit sagen möchte ist: Das sprengt deutlich den Supportumfang, den unser kleines Supportforum hier leisten kann.
Wir supporten hier vorrangig eh nur Anfragen, die aus XAMPP Installationen heraus resultieren.

Deine Anfrage geht da schon eher in den Kommerziellen Professionellen Bereich und hierfür würde ich dann doch eher vorschlagen sich das Know How einzukaufen oder zumindest die Qualifizierung des eigenen Personals einzukaufen.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11926
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: Apache2.4 ReverseProxy und LoadBalance httpd.conf

Postby Nobbie » 17. July 2019 11:23

zur Ergänzung:

So eine Anfrage ist viel zu komplex, um "Remote" aus einem Forum heraus bearbeitet zu werden. Ihr habt eine komplexe Infrastruktur und ein Fehler taucht unregelmäßig auf. Das spricht insgesamt dafür, dass es sich um eine Situation handelt, wo bestimmte Ereignisse gleichzeitig oder in bestimmer Reihenfolge auftreten und damit die Fehlersituation auslösen.

Solche Dinge kann man nicht aus der Ferne lösen. Da muss ein Profi ran, der muss bei Euch in den Laden kommen, der braucht einen Arbeitsplatz und dann muss er sich durch die Materie arbeiten. Der Fehler muss ja nicht einmal auf Apache Ebene stattfinden, vielleicht habt Ihr irgendwo ein Netzwerkproblem, ein Berechtigungsproblem, ein Hardwareproblem - mit dem jetzigen Wissenstand ist ALLES möglich. Und das wird Geld kosten, das macht ganz sicher niemand einfach so. Mit "einem Blick" auf die httpd.conf ist rein gar nichts getan.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Apache2.4 ReverseProxy und LoadBalance httpd.conf

Postby YadosRalf » 18. July 2019 09:21

Danke für Eure Antworten!

Um nicht missverstanden zu werden, sicher sind wir ein mittelständiges Unternehmen.
Unserer IT-Philosophie ist das Nutzen von freier Software. Natürlich da, wo es möglich ist.
Ticketsysteme, Cloud, Urlaubsverwaltung, Projekt-Organisation, Eventplaner für Schulungen haben wir ebenso aufgesetzt.
Ich dachte, vielleicht hat der eine oder andere abenfalls schon mal das Problem gehabt,
zB. ein CMS für Vereinsorganisation oder zB. Spieleserver auf mehreren PC immer verfügbar zu haben.
Vielen Dank für Eure Mühe.

Grüße Ralf
YadosRalf
 
Posts: 3
Joined: 16. July 2019 16:07
XAMPP version: 2.4
Operating System: Windows


Return to Apache

Who is online

Users browsing this forum: No registered users and 29 guests