Rumah > Artikel > Operasi dan penyelenggaraan > Bagaimana untuk menyelesaikan masalah Nginx memajukan kuki yang hilang
路径一 :http://localhost:8080/content/requestAction!showMainServiceReqDetail.action 路径二 :http://localhost/content/requestAction!showMainServiceReqDetail.action 路径三 :http://localhost/clp/requestAction!showMainServiceReqDetail.action
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.
②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; }
Diakses melalui tiga laluan di atas, laluan satu dan laluan dua boleh diakses dengan jayanya, akses laluan tiga gagal
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.
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; }
Laluan akses di atas adalah laluan dalam kotak merah dalam gambar di bawah, hanya garisan pertama Ia adalah. yang di belakang.
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!