So lösen Sie das Problem, dass Nginx verlorene Cookies weiterleitet

WBOY
Freigeben: 2023-05-15 21:10:12
nach vorne
2937 Leute haben es durchsucht

1. Vorgang „Verlorene Cookies“

路径一 :http://localhost:8080/content/requestAction!showMainServiceReqDetail.action
路径二 :http://localhost/content/requestAction!showMainServiceReqDetail.action
路径三 :http://localhost/clp/requestAction!showMainServiceReqDetail.action
Nach dem Login kopieren

Pfad eins ist Direktzugriff, Pfad zwei und Pfad drei werden über Nginx aufgerufen

Drei Zugriffsvoraussetzungen
①Der Browser verfügt über Cookies, wie in der Abbildung unten dargestellt:
Zugriffspfad http: //localhost:8080/content/requestAction!XXX.action JSESSIONID in Cookies anhängen. http://localhost:8080/content/requestAction!XXX.action 附加Cookies中的JSESSIONID。
此cookies中有JSESSIONID,存放着本次访问,后端可以认证的唯一JSESSIONID,如果没有它就会导致无法访问。

So lösen Sie das Problem, dass Nginx verlorene Cookies weiterleitet

②配置了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; 
}
Nach dem Login kopieren

通过上面三个路径访问,路径一与路径二可以访问成功,路径三访问失败

二. 丢失Cookies原因

因为 http://localhost:8080/content/requestAction!XXX.action的访问路径为/content/requestActionIn diesem Cookie befindet sich die JSESSIONID, die die eindeutige JSESSIONID speichert, die vom Backend für diesen Besuch authentifiziert werden kann. Ohne sie ist der Zugriff nicht möglich.

So lösen Sie das Problem verlorener Cookies, die von Nginx weitergeleitet werden

② Konfigurierte Nginx-Konfiguration Auf die Datei

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;	   
}
Nach dem Login kopieren
kann über die oben genannten drei Pfade zugegriffen werden, aber der Zugriff auf Pfad drei schlägt fehl

zwei. Der Grund für den Verlust von Cookies

://localhost:8080/content/requestAction!XXX Der Zugriffspfad von .action ist /content/requestAction

Es gibt keine Möglichkeit, auf Nginx zuzugreifen Nicht verwendet, sodass Cookies nicht verloren gehen. So lösen Sie das Problem, dass Nginx verlorene Cookies weiterleitetObwohl Nginx für den Zugriff auf die zweite Methode verwendet wird, da der Pfad vor der Weiterleitung durch Nginx derselbe ist, geht Nginx nicht verloren.

Methode 3 verwendet Nginx und den Zugriff Auch die Pfade sind unterschiedlich, was zu dem Problem führt, dass Cookies bei der Nginx-Weiterleitung verloren gehen. 🎜🎜3. Lösung🎜rrree🎜4. Punkte, die leicht zu verwechseln sind🎜🎜Der Zugriffspfad oben ist der Pfad im roten Feld im Bild unten, nur der nach dem ersten Schrägstrich. 🎜🎜🎜🎜

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass Nginx verlorene Cookies weiterleitet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!