Maison > Article > Opération et maintenance > Comment résoudre le problème de transfert des cookies perdus par Nginx
路径一 :http://localhost:8080/content/requestAction!showMainServiceReqDetail.action 路径二 :http://localhost/content/requestAction!showMainServiceReqDetail.action 路径三 :http://localhost/clp/requestAction!showMainServiceReqDetail.action
Le chemin un est un accès direct, le chemin deux et le chemin trois sont accessibles via nginx
Trois conditions d'accès
①Le navigateur a des cookies, comme le montre la figure ci-dessous :
Chemin d'accès http : //localhost:8080/content/requestAction!XXX.action
Attachez JSESSIONID dans les cookies. http://localhost:8080/content/requestAction!XXX.action
附加Cookies中的JSESSIONID。
此cookies中有JSESSIONID,存放着本次访问,后端可以认证的唯一JSESSIONID,如果没有它就会导致无法访问。
②配置了nginx配置文件
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; }
通过上面三个路径访问,路径一与路径二可以访问成功,路径三访问失败
因为 http://localhost:8080/content/requestAction!XXX.action
的访问路径为/content/requestAction
Il y a JSESSIONID dans ce cookie, qui stocke le JSESSIONID unique qui peut être authentifié par le backend pour cette visite. Sans lui, l'accès sera inaccessible.
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; }
http. ://localhost:8080/content/requestAction!XXX Le chemin d'accès de .action
est /content/requestAction
Il n'y a aucun moyen d'y accéder de la première manière. non utilisé, donc les cookies ne seront pas perdus. Bien que nginx soit utilisé pour accéder de la deuxième manière, car le chemin est le même avant d'être transmis par nginx, donc nginx ne sera pas perdu
La méthode d'accès 3 utilise nginx, et l'accès les chemins sont également différents, provoquant le problème de la perte des cookies lors du transfert nginx. 🎜🎜3. Solution🎜rrreee🎜4. Points faciles à confondre🎜🎜Le chemin d'accès ci-dessus est le chemin dans la case rouge sur l'image ci-dessous, seul celui après la première barre oblique l'est. 🎜🎜🎜🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!