Tutorial zur Konfiguration des Nginx/Httpd-Reverseproxys für Tomcat

Tutorial zur Konfiguration des Nginx/Httpd-Reverseproxys für Tomcat

Im vorherigen Blog erfuhren wir die Verwendung und Funktion der einzelnen Komponenten in Tomcats Server Tomcat verwendet andere Anti-Genervers, um Dienste für die Außenwelt bereitzustellen, und dann sollte der Zugriff auf HTTPS vom Proxy-Server implementiert werden. OL, das von Browsern nicht unterstützt wird;

Zu den gängigen Anti-Proxy-Servern gehören Haproxy, Nginx und httpd. Von diesen drei Softwareprogrammen können Haproxy und Nginx Tomcat basierend auf dem HTTP-Protokoll als Proxy verwenden; httpd kann Tomcat basierend auf dem HTTP-Protokoll als Proxy verwenden und unterstützt auch das AJP-Protokoll zum Proxy von Tomcat. Wenn das AJP-Protokoll zum Proxy von Tomcat verwendet wird, muss ein Proxy_ajp_module auf httpd aktiviert werden.

1. Nginx kehrt Tomcat um

Die Konfiguration von nginx basierend auf dem HTTP-Protokoll zum Proxy-Tomcat ist im Wesentlichen dieselbe wie bei anderen Webservern. Wir definieren einen Standort und übergeben dann die entsprechende URL per Proxy an den Backend-Tomcat-Server.

Beispiel: nginx vertauscht die Hosts www.test1.com und localhost in Tomcat

Tipp: Die obige Konfiguration bedeutet, dass die Anforderung an 192.168.0.22:8080 weitergeleitet wird, wenn der Zugriffspfad mit dem Stammpfad übereinstimmt. Nachdem die Anforderung Tomcat erreicht hat, wird tatsächlich festgestellt, ob der entsprechende Host vorhanden ist. Wenn dies der Fall ist, wird vom übereinstimmenden Host geantwortet, andernfalls vom Standardhost. Offensichtlich kann 192.168.0.22 nicht mit dem Host von Tomcat übereinstimmen, daher wird vom Standardhost localhost geantwortet, was dem Reverse-Proxying der Anforderung für den Zugriff auf / an den virtuellen Host localhost entspricht. Für Ressourcen, die mit der Endung .jsp oder .do übereinstimmen, wird der zweite Standort verwendet, um die Anforderung an den virtuellen Host www.test1.com umzuleiten.

Überprüfung: Greifen Sie auf 192.168.0.22 zu, um zu sehen, ob Sie auf die vom virtuellen Localhost-Host von Tomcat bereitgestellte Seite zugreifen können.

Tipp: Sie können sehen, dass der Browser beim Zugriff auf 192.168.0.22 die von localhost in Tomcat bereitgestellte Homepage zurückgibt.

Überprüfung: Besuchen Sie 192..168.0.22/index.jsp, um zu sehen, ob Sie auf Tomcat auf die von www.test1.com bereitgestellte Homepage zugreifen können?

Tipp: Sie können sehen, dass beim Besuch von 192.168.0.22/index.jsp der Browser auf die vom virtuellen Host www.test1.com in Tomcat bereitgestellte Homepage reagiert.

2. httpd kehrt Tomcat um

Beispiel: httpd verwendet das http-Protokoll, um Tomcat zu ersetzen

Tipp: Die obige Konfiguration bedeutet, dass die Anfrage bei Besuch von www.test1.com zu http://127.0.0.1:8080 umgekehrt wird. TTPD, und der Host-Header ist www.test1.com. 0.1, so dass es aus dem Standard -Virtual Host Localhost zurückgibt.

Überprüfung: Greifen Sie mit einem Browser auf www.test1.com zu und prüfen Sie, ob auf die Localhost-Seite in Tomcat reagiert wird.

Tipp: Sie können sehen, dass beim Besuch von www.test1.com die Antwort nicht die vom virtuellen Host www.test1.com in Tomcat bereitgestellte Seite ist, sondern die vom virtuellen Host localhost bereitgestellte Seite. Der Grund dafür ist, dass proxypreservehost deaktiviert ist. Der Host-Header des Clients wird nicht an Tomcat übergeben.

Ändern Sie „proxypreservehost“ in „Ein“, starten Sie httpd neu und besuchen Sie dann www.test1.com, um zu sehen, ob uns immer noch die Seite des virtuellen Hosts „localhost“ zurückgegeben wird.

Tipp: Die obige Änderung von „proxypreservehost“ bedeutet, dass der Wert des Client-Host-Headers an den Backend-Tomcat übergeben wird. Auf diese Weise kann Tomcat entsprechend dem vom Client übergebenen Host-Header auf Seiten auf verschiedenen virtuellen Hosts reagieren.

Überprüfung: Starten Sie den httpd-Dienst neu und besuchen Sie www.test1.com, um zu sehen, ob uns die Seite des virtuellen Hosts www.test1.com in Tomcat antwortet?

Tipp: Sie können sehen, dass wir beim Besuch von www.test1.com jetzt nicht mehr auf die Seite des virtuellen Hosts localhost reagieren, sondern auf die Seite des virtuellen Hosts www.test1.com. Dies bedeutet, dass httpd den Wert des Client-Hosts-Headers an den Back-End-Tomcat übergibt.

Test: Besuchen Sie 192.168.0.22, um zu sehen, ob Sie auf die standardmäßige virtuelle Hostseite von Localhost zugreifen können.

Tipp: Sie können sehen, dass wenn wir 192.168.0.22 besuchen, die Antwort an uns die Seite des virtuellen Hosts localhost in Tomcat ist. Der Grund dafür ist, dass httpd, nachdem es den Wert 192.168.0.22 des Client-Host-Headers an das Back-End-Tomcat übergeben hat, den virtuellen Host 192.168.0.22 auf Tomcat nicht findet. Daher antwortet Tomcat auf httpd mit dem Standard-virtuellen Host localhost und antwortet dann dem Browser. Was wir also sehen, ist die Seite des virtuellen Hosts localhost in Tomcat.

3. httpd verwendet das AJP-Protokoll, um Tomcat zu ersetzen

Im obigen Beispiel gibt es keinen wesentlichen Unterschied zwischen der Verwendung des HTTP-Protokolls zur Darstellung von Tomcat durch httpd und der Verwendung des AJP-Protokolls zur Darstellung von Tomcat durch httpd. Der einzige Unterschied besteht darin, dass das HTTP-Protokoll in das AJP-Protokoll geändert und der Backend-Tomcat-Port 8080 in Port 8009 geändert wird. Der Rest ist gleich.

Tipp: Beachten Sie hier, dass httpd das AJP-Protokoll verwendet, um Tomcat zu proxyen. Sie müssen das Modul proxy_ajp_module verwenden, sonst unterstützt httpd das AJP-Protokoll nicht.

Überprüfung: Rufen Sie im Browser jeweils www.test1.com und 192.168.0.22 auf, um zu prüfen, ob Sie in Tomcat auf die Seite des entsprechenden virtuellen Hosts zugreifen können.

Tipp: Sie sehen, dass es beim Zugriff keinen Unterschied gibt, ob Sie Anti-Tomcat auf Basis des AJP-Protokolls oder Anti-Tomcat auf Basis von HTTP verwenden.

Dies ist das Ende dieses Artikels über das Tutorial zur Tomcat-Konfiguration mit umgekehrter Generierung von Nginx/Httpd. Weitere relevante Inhalte zur Tomcat-Konfiguration mit umgekehrter Generierung von Nginx/Httpd finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Vollständige Schritte zur Verwendung von Nginx+Tomcat zum Lastenausgleich unter Windows
  • Prozessdiagramm für die Sitzungsfreigabe bei Tomcat Nginx Redis
  • Tutorial zur Tomcat-Konfiguration für Nginx/Httpd-Lastausgleich
  • Erstellen Sie einen Tomcat9-Cluster über Nginx und realisieren Sie die Sitzungsfreigabe
  • So verwenden Sie Docker zum Erstellen eines Tomcat-Clusters mit Nginx (mit Bildern und Text)
  • Detailliertes Tutorial zur Überwachung von Nginx/Tomcat/MySQL mit Zabbix
  • Implementierung der Bereitstellung eines Vue-Projekts auf einem Nginx/Tomcat-Server
  • Tutorial zum Aufbau eines Hochleistungs-Load-Balancing-Clusters mit Nginx+Tomcat
  • Analyse des Prozesses zur Implementierung eines Nginx+Tomcat-Clusters unter Windwos

<<:  Reagieren Sie Homepage langsames Laden Problem Leistungsoptimierung Fall detaillierte Erklärung

>>:  Zusammenfassung häufig verwendeter Toolfunktionen in Vue-Projekten

Artikel empfehlen

JavaScript-Closures erklärt

Inhaltsverzeichnis 1. Was ist ein Abschluss? 2. D...

MySQL Server IO 100 % Analyse- und Optimierungslösung

Vorwort Während des Stresstests besteht das unmit...

Installationsschritte der Ubuntu 20.04-Doppelpinyin-Eingabemethode

1. Chinesische Eingabemethode einrichten 2. Stell...

Zusammenfassung der MySQL-Entwicklungsstandards und -Nutzungskenntnisse

1. Namenskonventionen 1. Datenbanknamen, Tabellen...

Installieren Sie das Linux-System automatisch basierend auf Cobbler

1. Komponenten installieren yum install epel-rpm-...

Erstellen Sie mit PS in zwei Minuten eine Homepage für eine XHTML+CSS-Website

Es gibt zu viele Artikel über Webstandards zur We...

MySQL Server 8.0.13.0 Installations-Tutorial mit Bildern und Text

Installieren Sie 8.0.13 basierend auf MySQL 6.1.3...

Detaillierte Erläuterung des SSR-Server-Side-Rendering-Beispiels von Vue

Warum Server-Side Rendering (SSR) verwenden? Bess...

Verschachtelte Verwendungsoperation für MySQL-Aggregatfunktionen

Zweck: Verschachtelte Verwendung von MySQL-Aggreg...

Tutorial zur Docker-Installation in einer Linux-Umgebung

1. Installationsumgebung Docker unterstützt die f...

Mit JS ein kleines Flugzeugkriegsspiel implementieren

In diesem Artikelbeispiel wird der spezifische JS...

Zusammenfassung der sieben MySQL JOIN-Typen

Bevor wir beginnen, erstellen wir zwei Tabellen, ...

So verbinden Sie XShell und Netzwerkkonfiguration in CentOS7

1. Linux-Netzwerkkonfiguration Bevor Sie das Netz...

Eine kurze Zusammenfassung meiner Erfahrungen beim Schreiben von HTML-Seiten

Es sind drei oder vier Monate vergangen, seit ich ...