Mein Szenario ist ein Dienst, der auf SSL-Port 443 auf eingehende SOAP- und REST-Anfragen über das HTTPS-Protokoll wartet. Da die Konfiguration erweitert wird und das Produkt eine größere Konfiguration nicht verarbeiten kann, haben wir jetzt zwei Instanzen der Software gestartet, sagen wir Instanz A und B (die entweder auf unterschiedlichen IPs oder Ports laufen, aber immer noch auf derselben Maschine).
Ich habe eine Liste aller URLs, auf die Instanz A wartet. Ich möchte beispielsweise Apache2 verwenden, um auf diese Liste zugreifen zu können. Wenn der Pfad einer eingehenden Anfrage mit einer der URLs in der Liste übereinstimmt, möchte ich den Datenverkehr an Instanz A weiterleiten, andernfalls an Instanz B.
Ist dies in Apache2 möglich oder gibt es eine bessere Option? Könnten Sie hierfür ein Konfigurationsbeispiel zeigen?
Antwort1
Zunächst hören Ihre Serverinstanzen nicht auf URLs, sondern auf IP:Port-Kombinationen. Sie können Apache2 über eine Liste konfigurieren und die Konfiguration neu laden. Was Sie jedoch anfordern, ist Lastausgleich im Allgemeinen.
Übrigens ist nginx viel besser darin, mehrere Instanzen zu definieren und auszugleichen.
Siehe apache2.4Mod-Proxy-Balanceroder nginxstromaufwärtsDokumentation.