Heim Backend-Entwicklung PHP-Tutorial Lösen Sie das Problem des Sitzungsverlusts von Proxy_Pass zu Tomcat in Nginx

Lösen Sie das Problem des Sitzungsverlusts von Proxy_Pass zu Tomcat in Nginx

Aug 08, 2016 am 09:21 AM
header proxy session tomcat

Einführung

Ich habe immer nginx1.5.7 als Webserver und Proxyserver verwendet, der einem Tomcat entspricht, also einem Port und nur einem Domänennamen.
Heute habe ich Tomcat auf dem Server integriert. Fünf Anwendungen teilen sich einen Tomcat.
Das erste Problem besteht darin, dass eine Ausnahme auftritt, wenn der Benutzer darauf wartet, in den Hintergrund zu gelangen, und die angemeldeten Benutzerinformationen nicht gefunden werden können!
Nach dem Debuggen wurde festgestellt, dass die Anforderung mehrfach war und die Sitzungen inkonsistent waren. Es fühlte sich an, als würde ein anderer Browser zugreifen, und wir kamen zu dem Schluss, dass die Sitzung verloren gehen musste!

Ursache

Nach sorgfältiger Analyse kamen wir zu dem Schluss: Das Problem liegt in der Konfiguration von Nginx!

<code>server_name  www<span>.</span>weixin4j<span>.</span>org;
charset utf<span>-</span><span>8</span>;
root   /opt/apache<span>-tomcat</span><span>-</span><span>7.0</span><span>.53</span>/webapps/weixin4j<span>/</span>;
location <span>/</span> {
    proxy_pass         http:<span>//127.0.0.1:8180/weixin4j/;</span>
    proxy_set_header   Host             <span>$host</span>;
    proxy_set_header   X<span>-Real</span><span>-IP</span><span>$remote_addr</span>;
    proxy_set_header   X<span>-Forwarded</span><span>-For</span><span>$proxy_add_x_forwarded_for</span>;
}</code>
Nach dem Login kopieren

Diese Konfiguration führt dazu, dass der Cookie-Speicherort nicht auf „/“ basiert, sodass die Sitzung beim zweiten Besuch neu erstellt wird und die Informationen in der Sitzung verloren gehen.

Lösung

Ändern Sie den Cookie-Speicherpfad

<code>server_name  www<span>.</span>weixin4j<span>.</span>org;
charset utf<span>-</span><span>8</span>;
root   /opt/apache<span>-tomcat</span><span>-</span><span>7.0</span><span>.53</span>/webapps/weixin4j<span>/</span>;
location <span>/</span> {
    proxy_pass         http:<span>//127.0.0.1:8180/weixin4j/;</span>
    proxy_set_header   Host             <span>$host</span>;
    proxy_set_header   X<span>-Real</span><span>-IP</span><span>$remote_addr</span>;
    proxy_set_header   X<span>-Forwarded</span><span>-For</span><span>$proxy_add_x_forwarded_for</span>;
    add_header From www<span>.</span>weixin4j<span>.</span>org;
    proxy_cookie_path /weixin4j<span>/</span><span>/</span>;
    proxy_set_header Cookie <span>$http_cookie</span>;
}</code>
Nach dem Login kopieren

Starten Sie den Dienst neu und testen Sie ihn!
passieren!

Das Obige stellt vor, wie man das Problem des Sitzungsverlusts von Proxy_Pass zu Tomcat in Nginx löst, einschließlich des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So stellen Sie ein JAR-Projekt in Tomcat bereit So stellen Sie ein JAR-Projekt in Tomcat bereit Apr 21, 2024 am 07:27 AM

Um ein JAR-Projekt auf Tomcat bereitzustellen, führen Sie die folgenden Schritte aus: Laden Sie Tomcat herunter und entpacken Sie es. Konfigurieren Sie die Datei server.xml, legen Sie den Port und den Projektbereitstellungspfad fest. Kopiert die JAR-Datei in den angegebenen Bereitstellungspfad. Starten Sie Tomcat. Greifen Sie über die bereitgestellte URL auf das bereitgestellte Projekt zu.

So erlauben Sie den externen Netzwerkzugriff auf den Tomcat-Server So erlauben Sie den externen Netzwerkzugriff auf den Tomcat-Server Apr 21, 2024 am 07:22 AM

Um dem Tomcat-Server den Zugriff auf das externe Netzwerk zu ermöglichen, müssen Sie Folgendes tun: Ändern Sie die Tomcat-Konfigurationsdatei, um externe Verbindungen zuzulassen. Fügen Sie eine Firewallregel hinzu, um den Zugriff auf den Tomcat-Server-Port zu ermöglichen. Erstellen Sie einen DNS-Eintrag, der den Domänennamen auf die öffentliche IP des Tomcat-Servers verweist. Optional: Verwenden Sie einen Reverse-Proxy, um Sicherheit und Leistung zu verbessern. Optional: Richten Sie HTTPS für mehr Sicherheit ein.

So stellen Sie mehrere Projekte in Tomcat bereit So stellen Sie mehrere Projekte in Tomcat bereit Apr 21, 2024 am 09:33 AM

Um mehrere Projekte über Tomcat bereitzustellen, müssen Sie für jedes Projekt ein Webapp-Verzeichnis erstellen und dann: Automatische Bereitstellung: Platzieren Sie das Webapp-Verzeichnis im Webapps-Verzeichnis von Tomcat. Manuelle Bereitstellung: Stellen Sie das Projekt manuell in der Manager-Anwendung von Tomcat bereit. Sobald das Projekt bereitgestellt ist, kann über seinen Bereitstellungsnamen darauf zugegriffen werden, zum Beispiel: http://localhost:8080/project1.

Wo ist das Tomcat-Installationsverzeichnis? Wo ist das Tomcat-Installationsverzeichnis? Apr 21, 2024 am 07:48 AM

Tomcat-Installationsverzeichnis: Standardpfad: Windows: C:\Programme\Apache Software Foundation\Tomcat 9.0macOS:/Library/Tomcat/Tomcat 9.0Linux:/opt/tomcat/tomcat9 Benutzerdefinierter Pfad: Sie können ihn während der Installation angeben. Suchen Sie das Installationsverzeichnis: Verwenden Sie den Befehl „whereis“ oder „locate“.

Wo ist das Stammverzeichnis der Tomcat-Website? Wo ist das Stammverzeichnis der Tomcat-Website? Apr 21, 2024 am 09:27 AM

Das Stammverzeichnis der Tomcat-Website befindet sich im Unterverzeichnis webapps von Tomcat und wird zum Speichern von Webanwendungsdateien und statischen Ressourcen verwendet. Das Verzeichnis WEB-INF kann durch Suchen nach dem docBase-Attribut in der Tomcat-Konfigurationsdatei gefunden werden.

So überprüfen Sie die Anzahl gleichzeitiger Verbindungen in Tomcat So überprüfen Sie die Anzahl gleichzeitiger Verbindungen in Tomcat Apr 21, 2024 am 08:12 AM

So überprüfen Sie die Anzahl gleichzeitiger Tomcat-Verbindungen: Besuchen Sie die Tomcat Manager-Seite (http://localhost:8080/manager/html) und geben Sie Ihren Benutzernamen und Ihr Passwort ein. Klicken Sie in der linken Navigationsleiste auf Status->Sitzungen, um oben auf der Seite die Anzahl der gleichzeitigen Verbindungen anzuzeigen.

So überprüfen Sie die Portnummer von Tomcat So überprüfen Sie die Portnummer von Tomcat Apr 21, 2024 am 08:00 AM

Die Tomcat-Portnummer kann angezeigt werden, indem das Portattribut des <Connector>-Elements in der Datei server.xml überprüft wird. Besuchen Sie die Tomcat-Verwaltungsoberfläche (http://localhost:8080/manager/html) und sehen Sie sich die Registerkarte „Status“ an. Führen Sie „catalina.sh version“ über die Befehlszeile aus und sehen Sie sich die Zeile „Port:“ an.

So führen Sie zwei Projekte mit unterschiedlichen Portnummern in Tomcat aus So führen Sie zwei Projekte mit unterschiedlichen Portnummern in Tomcat aus Apr 21, 2024 am 09:00 AM

Das Ausführen von Projekten mit unterschiedlichen Portnummern auf dem Tomcat-Server erfordert die folgenden Schritte: Ändern Sie die Datei server.xml und fügen Sie ein Connector-Element hinzu, um die Portnummer zu definieren. Fügen Sie ein Kontextelement hinzu, um die mit der Portnummer verknüpfte Anwendung zu definieren. Erstellen Sie eine WAR-Datei und stellen Sie sie im entsprechenden Verzeichnis bereit (webapps oder webapps/ROOT). Starten Sie Tomcat neu, um die Änderungen zu übernehmen.

See all articles