Heim >Betrieb und Instandhaltung >Nginx >So konfigurieren Sie den Nginx-Client zum Speichern von Cookies

So konfigurieren Sie den Nginx-Client zum Speichern von Cookies

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBnach vorne
2023-05-28 17:25:251846Durchsuche

Frage

Nach der Bereitstellung eines von Vorgängern hinterlassenen Dotnet-Kern-Hintergrunddienstes habe ich den Front-End-Code auf dem Server sorgfältig geändert und die Ajax-Anforderungsadresse in „localhost“ geändert. Anmelde- und Anforderungsdaten sind normal . Ich habe jedoch den Localhost in die IP-Adresse geändert und festgestellt, dass die Anmeldung normal war und das Cookie zurückgegeben wurde. Beim Überprüfen des Anmeldestatus (Senden einer Anfrage an den Hintergrund und Überprüfen des übertragenen Cookies) ist jedoch ein Fehler aufgetreten Ich bekomme 401

Das Frontend dieses Programms, das Backend wurde nicht von mir geschrieben, ich habe die Frontend-Entwicklung gefragt:

So konfigurieren Sie den Nginx-Client zum Speichern von Cookies

# 🎜🎜#Obwohl das Cookie erfolgreich zurückgegeben wurde, wurde das Cookie nicht im nächsten Anforderungsheader übertragen. Es war seltsam, und dann entdeckte ich:

So konfigurieren Sie den Nginx-Client zum Speichern von Cookies

Laut der Eingabeaufforderung möchte der Browser Cookies speichern, aber in Set-Cookie ist Secure eingestellt. wurde blockiert.

So konfigurieren Sie den Nginx-Client zum Speichern von Cookies

Lösung

Dann werde ich Secure entfernen!

Gleichzeitig muss auch samesite=none geändert werden, da samesite=none mit secure verwendet werden muss. Sie können den Wert in strict

Streng ändern Strengstens ist es völlig untersagt, Cookies von Drittanbietern zu senden, unabhängig von den Umständen bei standortübergreifenden Besuchen. Das Cookie wird nur übertragen, wenn die URL der aktuellen Seite mit dem angeforderten Ziel übereinstimmt.

nginx-Einstellungen:

proxy_cookie_flags ~ nosecure samesite=strict;

Lass uns mehr darüber reden

Das Cookie-Attribut secure kann nur unter https aufgerufen werden hier von Migrieren der https-Umgebung zur http-Umgebung (lernen Sie diese umgekehrte unsichere Methode nicht).

Das von mir eingerichtete Nginx ist wie folgt, aber die tatsächliche Verwendung sollte auch für die spezifische Situation berücksichtigt werden:

 	location /rf/ {
        proxy_pass  http://localhost:5001/;
	    proxy_set_header Host $host;
	    proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Real-PORT $remote_port;
      
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

	    proxy_cookie_path  / /;
	    proxy_set_header   Cookie $http_cookie;
 	    proxy_cookie_flags ~ nosecure samesite=strict;
   }

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie den Nginx-Client zum Speichern von Cookies. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen