Rumah pembangunan bahagian belakang tutorial php 解决nginx中proxy_pass到tomcat的session丢失问题

解决nginx中proxy_pass到tomcat的session丢失问题

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

引言

  一直以来我都是用nginx1.5.7来作为web服务器和代理服务器来使用,一直都是一个应用对应一个Tomcat也就是一个端口,也只对应一个域名。
  今天把服务器上的Tomcat整合了一下,5个应用共用一个Tomcat。
最先出现的问题是,用户等进入后台时出现异常,找不到登录的用户信息!
  经调试发现是request请求变成了多个,并且session也不一致,感觉就像是另一个浏览器在访问,得出结论:肯定是session丢失了!

原因

  经过认真的分析,得出结论:问题出在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>
Salin selepas log masuk

此配置会导致cookie存储的位置不是基于“/”那么在第二次访问的时候会从新创建session,因此session中的信息丢失。

解决方案

修改cookie的存储路径

<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>
Salin selepas log masuk

重启服务,测试!
通过!

以上就介绍了解决nginx中proxy_pass到tomcat的session丢失问题,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menggunakan projek jar dalam tomcat Bagaimana untuk menggunakan projek jar dalam tomcat Apr 21, 2024 am 07:27 AM

Untuk menggunakan projek JAR ke Tomcat, ikut langkah berikut: Muat turun dan nyahzip Tomcat. Konfigurasikan fail server.xml, tetapkan port dan laluan penggunaan projek. Menyalin fail JAR ke laluan penggunaan yang ditentukan. Mulakan Tomcat. Akses projek yang digunakan menggunakan URL yang disediakan.

Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Apr 21, 2024 am 07:22 AM

Untuk membenarkan pelayan Tomcat mengakses rangkaian luaran, anda perlu: mengubah suai fail konfigurasi Tomcat untuk membenarkan sambungan luaran. Tambahkan peraturan tembok api untuk membenarkan akses kepada port pelayan Tomcat. Buat rekod DNS yang menunjukkan nama domain ke IP awam pelayan Tomcat. Pilihan: Gunakan proksi terbalik untuk meningkatkan keselamatan dan prestasi. Pilihan: Sediakan HTTPS untuk meningkatkan keselamatan.

Di manakah direktori pemasangan tomcat? Di manakah direktori pemasangan tomcat? Apr 21, 2024 am 07:48 AM

Direktori pemasangan Tomcat: Laluan lalai: Windows: C:\Program Files\Apache Software Foundation\Tomcat 9.0macOS:/Library/Tomcat/Tomcat 9.0Linux:/opt/tomcat/tomcat9 Laluan tersuai: Anda boleh menentukannya semasa pemasangan. Cari direktori pemasangan: gunakan whereis atau locate arahan.

Bagaimana untuk menggunakan berbilang projek dalam tomcat Bagaimana untuk menggunakan berbilang projek dalam tomcat Apr 21, 2024 am 09:33 AM

Untuk menggunakan berbilang projek melalui Tomcat, anda perlu mencipta direktori aplikasi web untuk setiap projek dan kemudian: Penggunaan automatik: Letakkan direktori aplikasi web dalam direktori aplikasi web Tomcat. Penggunaan manual: Gunakan projek secara manual dalam aplikasi pengurus Tomcat. Sebaik sahaja projek itu digunakan, ia boleh diakses dengan nama penggunaannya, contohnya: http://localhost:8080/project1.

Bagaimana untuk menyemak bilangan sambungan serentak dalam tomcat Bagaimana untuk menyemak bilangan sambungan serentak dalam tomcat Apr 21, 2024 am 08:12 AM

Cara menyemak bilangan sambungan Tomcat serentak: Lawati halaman Pengurus Tomcat (http://localhost:8080/manager/html) dan masukkan nama pengguna dan kata laluan anda. Klik Status->Sesi dalam bar navigasi kiri untuk melihat bilangan sambungan serentak di bahagian atas halaman.

Di manakah direktori akar laman web tomcat? Di manakah direktori akar laman web tomcat? Apr 21, 2024 am 09:27 AM

Direktori akar tapak web Tomcat terletak dalam subdirektori webapps Tomcat dan digunakan untuk menyimpan fail aplikasi web, sumber statik dan direktori WEB-INF ia boleh didapati dengan mencari atribut docBase dalam fail konfigurasi Tomcat.

Bagaimana untuk menyemak nombor port tomcat Bagaimana untuk menyemak nombor port tomcat Apr 21, 2024 am 08:00 AM

Nombor port Tomcat boleh dilihat dengan menyemak atribut port elemen <Connector> dalam fail server.xml. Lawati antara muka pengurusan Tomcat (http://localhost:8080/manager/html) dan lihat tab "Status". Jalankan "versi catalina.sh" dari baris arahan dan lihat baris "Port:".

Bagaimana untuk menjalankan dua projek dengan nombor port yang berbeza dalam tomcat Bagaimana untuk menjalankan dua projek dengan nombor port yang berbeza dalam tomcat Apr 21, 2024 am 09:00 AM

Menjalankan projek dengan nombor port yang berbeza pada pelayan Tomcat memerlukan langkah berikut: Ubah suai fail server.xml dan tambah elemen Penyambung untuk menentukan nombor port. Tambah elemen Konteks untuk menentukan aplikasi yang dikaitkan dengan nombor port. Buat fail WAR dan gunakannya ke direktori yang sepadan (webapps atau webapps/ROOT). Mulakan semula Tomcat untuk menggunakan perubahan.

See all articles