Bagaimana untuk menyelesaikan masalah Nginx memajukan kuki yang hilang

WBOY
Lepaskan: 2023-05-15 21:10:12
ke hadapan
2996 orang telah melayarinya

1. Operasi Kuki Hilang

路径一 :http://localhost:8080/content/requestAction!showMainServiceReqDetail.action
路径二 :http://localhost/content/requestAction!showMainServiceReqDetail.action
路径三 :http://localhost/clp/requestAction!showMainServiceReqDetail.action
Salin selepas log masuk

Laluan satu ialah akses terus, laluan dua dan tiga ialah akses melalui nginx

Tiga prasyarat akses
①Pelayar mempunyai kuki, Seperti yang ditunjukkan dalam rajah di bawah:
Tambahkan JSESSIONID dalam Kuki dengan mengakses laluan http://localhost:8080/content/requestAction!XXX.action.
Terdapat JSESSIONID dalam kuki ini, yang menyimpan JSESSIONID unik yang boleh disahkan oleh bahagian belakang untuk lawatan ini, akses tidak akan dapat diakses.

Bagaimana untuk menyelesaikan masalah Nginx memajukan kuki yang hilang

②Fail konfigurasi nginx dikonfigurasikan

server {
      listen       80;
      server_name  localhost;
location /clp {
   #proxy_set_header Host $host;
   #proxy_set_header X-Real-IP $remote_addr;
   #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_pass http://localhost:8080/content;
   
}

location /content {
   #proxy_set_header Host $host;
   #proxy_set_header X-Real-IP $remote_addr;
   #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_pass http://localhost:8080/content; 
}
Salin selepas log masuk

Diakses melalui tiga laluan di atas, laluan satu dan laluan dua boleh diakses dengan jayanya, akses laluan tiga gagal

2. Sebab kehilangan kuki

Kerana laluan akses http://localhost:8080/content/requestAction!XXX.action ialah /content/requestAction,
kaedah 1 tidak mengaksesnya, dan nginx tidak digunakan, jadi kuki tidak akan akan hilang, kaedah
Walaupun nginx digunakan untuk lawatan kedua, laluannya adalah sama sebelum dimajukan oleh nginx, jadi nginx tidak akan hilang
Lawatan ketiga menggunakan nginx, dan laluan akses juga berbeza, menyebabkan masalah kuki hilang apabila dimajukan oleh nginx.

3. Penyelesaian

location /clp {
   #proxy_set_header Host $host;
   #proxy_set_header X-Real-IP $remote_addr;
   #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_cookie_path /content /clp;  #这一句就可以解决nginx转发丢失cookie的问题
   proxy_pass http://localhost:8080/content;	   
}
Salin selepas log masuk

4 Mata yang mudah dikelirukan

Laluan akses di atas adalah laluan dalam kotak merah dalam gambar di bawah, hanya garisan pertama Ia adalah. yang di belakang.

Bagaimana untuk menyelesaikan masalah Nginx memajukan kuki yang hilang

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah Nginx memajukan kuki yang hilang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!