Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Tomcat Load Balancer mit Apache unter Verwendung von Mod Proxy und Session Sticky

Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Konfigurieren Sie Tomcat mit Apache mithilfe von Proxy-Modul und Sticky Session

Das Konfigurieren von Tomcat Load Balancer mit dem Apache-Webserver mithilfe von Mod Proxy ist recht einfach.

Es ist einfach, wenn Sie der Sequenz folgen, und alles läuft gut. Ich habe im Folgenden Schritt für Schritt aufgeführt, wie Sie Apache mit Tomcat konfigurieren, um Load Balancer mithilfe von Mod Proxy zu konfigurieren.

Für eine bessere Verfügbarkeit wird in einer Produktionsumgebung immer ein Lastausgleich empfohlen.

Apache Web Server Configuration

  • Ermöglichen proxy_module, proxy_balancer_module und proxy_http_module in der httpd.conf des Apache-Webservers
LoadModule proxy_module modules / mod_proxy.so LoadModule proxy_balancer_module modules / mod_proxy_balancer.so LoadModule proxy_http_module modules / mod_proxy_http.so

Fügen Sie den Proxy-Pass zusammen mit dem Balancer-Namen für den Anwendungskontextstamm hinzu.

In diesem Beispiel habe ich einen Proxy-Pfad als Beispiele und einen Balancer-Namen als meincluster.

Sehr wichtig einzuschließen Stickysession Wenn Sie diese Option nicht haben, wird dieselbe Anforderung an mehrere Tomcat-Server verteilt, und in einer Anwendung treten Probleme mit dem Ablauf der Sitzung auf.

ProxyRequests Off ProxyPass / examples balancer: // mycluster stickysession = JSESSIONID ProxyPassReverse / examples balancer: // mycluster stickysession = JSESSIONID BalancerMember http: // localhost: 8080 / examples route = server1 BalancerMember http: // localhost: 8090 / examples route = server2

Wie Sie in der obigen Konfiguration sehen können, habe ich in BalancerMember eine Route hinzugefügt, damit der Routenwert an die Sitzungs-ID angehängt werden kann.

Jetzt konfigurieren wir Apache so, dass JSESSIONID in Zugriffsprotokollen gedruckt wird.

  • Fügen Sie Folgendes in die LogFormat-Direktive ein
% {JSESSIONID} C.

Ex:

LogFormat "% h% l% u% t"% r "%> s% b"% {Referer} i ""% {User-Agent} i ""% {JSESSIONID} C "" kombiniert
  • Starten Sie Apache Web Server

Tomcat Configuration

Sie müssen Tomcat-Instanzen mit derselben Routen-ID wie in konfigurieren Balancer Member zu teilen.

  • Hinzufügen jvmRoute Parameter in server.xml von Tomcat. Dies muss im Engine-Namensschild hinzugefügt werden.

Tomcat-Instanz konfiguriert mit 8080 port


Tomcat-Instanz konfiguriert mit 8090 port

 
  • Starten Sie den Tomcat-Server neu

Verification

Generieren Sie eine gewisse Last für die Anwendung und überprüfen Sie das Zugriffsprotokoll des Apache-Servers, um sicherzustellen, dass Ihre Anforderung nur an eine Tomcat-Instanz weitergeleitet wird.

Sie werden auch feststellen, dass Ihre Sitzungs-ID an die Route angehängt ist, wie im folgenden Beispiel gezeigt.

Ex:

127.0.0.1 - - [18 / Sep / 2013: 10: 02: 02 +0800] "POST / examples / servlets / servlet / RequestParamExample HTTP / 1.1" 200 662 "http: // localhost / examples / servlets / servlet / RequestParamExample Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0 B80557A1D9B48EC1D73CF8C7482B7D46.server2 127.0.0.1 - - [18 / Sep / 2013: 10: 02: 06 +0800] GET / Beispiele / Servlets / Servlet / RequestInfoExample HTTP / 1.1 "200 693" http: // localhost / examples / servlets / "" Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0 "" B80557A1D9B48EC1D73CF8C7482 7 - - [46 / Sep / 2: 127.0.0.1: 18: 2013 +10] GET /examples/servlets/reqinfo.html HTTP / 02 17 0800 http: // localhost / examples / servlets / Mozilla / 1.1 (X200; Linux x3607_5.0; rv: 11) Gecko / 86 Firefox / 64 B17.0A20130807D17.0B80557EC1D9CF48C1B73D8.server7482 7 - - [46 / Sep / 2: 127.0.0.1: 18: 2013 +10] GET / examples / Servlets / Servlet / SessionExample HTTP / 02 "20 0800" http: // localhost / examples / servlets / "" Mozilla / 1.1 (X200; Linux x1124_5.0; rv: 11) Gecko / 86 Firefox / 64 B17.0A20130807D17.0B80557EC1D9CF48C1B73D8.server7482 7 - - [46 / Sep / 2: 127.0.0.1: 18: 2013 +10] POST / examples / servlets / servlet / SessionExample HTTP / 02 26 0800 http: / / localhost / examples / servlets / servlet / SessionExample Mozilla / 1.1 (X200; Linux x1142_5.0; rv: 11) Gecko / 86 Firefox / 64 B17.0A20130807D17.0B80557EC1D9CF48C1B73D8.server7482 7 - - [46 / Sep / 2: 127.0.0.1: 18: 2013 +10] GET / examples / servlets / servlet / SessionExample? dataname = dat = fadaf HTTP / 02 "28 0800" http: // localhost / examples / servlets / servlet / SessionExample "" Mozilla / 1.1 (X200; Linux x1159_5.0; rv: 11) Gecko / 86 Firefox / 64 "" B17.0A20130807D17.0B80557EC1D9CF4C1B73D8.ver .7482 - - [7 / Sep / 46: 2: 127.0.0.1: 18 +2013] "GET / examples / servlets / servlet / SessionExample? Dataname = foo & datavalue = bar HTTP / 10" 02 32 "http: // localhost / examples / servlets / servlet / SessionExample? dataname = fda & datavalue = fadaf "" Mozilla / 0800 (X1.1; Linux x200_1174; rv: 5.0) Gecko / 11 Firefox / 86 "" B64A17.0D20130807B17.0EC80557D1CF9C48B1D73.server8 - /. 7482:7:46 +2] "GET / examples / servlets / servlet / RequestHeaderExample HTTP / 127.0.0.1" 18 2013 "http: // localhost / examples / servlets /" "Mozilla / 10 (X02; Linux x36_0800; rv: 1.1) Gecko / 200 Firefox / 1423 B5.0A11D86B64EC17.0D20130807CF17.0C80557B1D9.server48

Ich hoffe, dies hilft Ihnen bei der Konfiguration von Tomcat Load Balancer mit Apache Mod Proxy und Session Sticky.

Wenn Sie mehr über die Tomcat-Administration erfahren möchten, überprüfen Sie dies Online Kurs.

Danke an unsere Sponsoren
Weitere großartige Lesungen auf Tomcat
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder