Maison > Opération et maintenance > Nginx > le corps du texte

Comment configurer le client nginx pour enregistrer les cookies

WBOY
Libérer: 2023-05-28 17:25:25
avant
1612 Les gens l'ont consulté

Problème

Je déploie un service d'arrière-plan dotnet core laissé par mes prédécesseurs. J'ai soigneusement modifié le code frontal sur le serveur et changé l'adresse de requête ajax en localhost. Les données de connexion et de demande sont normales. Cependant, j'ai remplacé localhost par une adresse IP et j'ai constaté que la connexion était normale et que le cookie avait été renvoyé. Cependant, lors de la vérification de l'état de connexion (envoi d'une demande en arrière-plan et vérification du cookie transporté), une erreur s'est produite. 401

. Ni le front-end ni le back-end de ce programme ne m'appartiennent. Je l'ai écrit et j'ai demandé au développement front-end :

Comment configurer le client nginx pour enregistrer les cookies

Bien que le cookie ait été renvoyé avec succès, l'en-tête de la demande de cookie n'a pas été transporté dans le fichier. demande ultérieure. C'était étrange, puis j'ai découvert :

Comment configurer le client nginx pour enregistrer les cookies

Selon les invites, le navigateur a voulu enregistrer le cookie, mais Set-Cookie a été bloqué en raison du paramètre Secure.

Comment configurer le client nginx pour enregistrer les cookies

Résolu

Ensuite, je supprimerai Secure !
En même temps, samesite=none doit également être modifié, car samesite=none doit être utilisé avec secure Vous pouvez changer la valeur en strict

Les règles strictes sont les plus strictes, et il est totalement interdit d'en envoyer à des tiers. -cookies de fête, quelle que soit la situation d'accès entre sites. Le cookie ne sera porté que si l'URL de la page courante correspond à la cible demandée.

Paramètres dans nginx :

proxy_cookie_flags ~ nosecure samesite=strict;
Copier après la connexion

Parlons un peu plus

L'attribut cookie secure n'est accessible que sous https. Je migre de l'environnement https vers l'environnement http (cette méthode inverse non sécurisée n'est toujours pas nécessaire pour apprendre) .

Le nginx que j'ai configuré est le suivant, mais l'utilisation réelle doit être prise en compte pour la situation spécifique :

 	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;
   }
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!