Maison >Opération et maintenance >Nginx >Comment Nginx résout les cookies inter-domaines

Comment Nginx résout les cookies inter-domaines

(*-*)浩
(*-*)浩original
2019-07-15 13:28:377770parcourir

Avec de plus en plus de modules de projet, de nombreux modules sont désormais déployés indépendamment. La communication entre les modules peut parfois être réalisée via des cookies. Par exemple, le portail et l'application sont respectivement déployés sur des machines ou des conteneurs Web différents. Si l'utilisateur se connecte, un cookie sera écrit sur le client du navigateur (enregistrant les informations de contexte de l'utilisateur) et l'application souhaite obtenir le cookie sous. le portail, ce qui entraînera la résolution du problème des cookies inter-domaines.

Comment Nginx résout les cookies inter-domaines

Proxy inverse Nginx pour résoudre le problème inter-domaines des cookies

Concept de proxy inverse

Proxy inverse Le ( La méthode Reverse Proxy) fait référence à l'utilisation d'un serveur proxy pour accepter les demandes de connexion sur Internet, puis transmettre la demande au serveur sur le réseau interne et renvoyer les résultats obtenus du serveur au client demandant la connexion sur Internet ; cette fois, le proxy Le serveur apparaît comme un serveur pour le monde extérieur.

Le serveur proxy inverse ressemble au serveur d'origine pour le client, et le client n'a pas besoin de définir de paramètres particuliers. Le client envoie une requête normale au contenu dans l'espace de noms du proxy inverse (espace de noms), puis le proxy inverse déterminera où transmettre la requête (serveur d'origine) et renverra le contenu obtenu au client, comme ceux-ci. Le contenu est son propre contenu original.

Simulation de scénario

Deux projets, web1 et web2, sont déployés sur différents tomcats sur la même machine Demandez le index.html du projet web1, comme suit :

Comment Nginx résout les cookies inter-domaines

Cliquez ensuite sur le lien pour demander le index.jsp du projet web2 Le contenu est le suivant :

Comment Nginx résout les cookies inter-domaines

Regardez à nouveau la configuration de nginx :

L'utilisation du proxy de direction de nginx pour résoudre le problème des cookies entre domaines est en fait obtenue en "trompant" le navigateur. Grâce à nginx, nous pouvons mettre les cookies de différents projets. sous le domaine nginx. Grâce à nginx Le proxy inverse peut obtenir des cookies écrits par différents projets.

En fait, dans le scénario ci-dessus, le chemin dans $.cookie("user", "hjzgg", {path: "/web"}); pour que la configuration de nginx soit plus simple. Pour faire simple, c'est la suivante.

location /web1 {
            proxy_pass http://web1;
            proxy_set_header Host  127.0.0.1;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
 
            proxy_set_header Cookie $http_cookie;
            log_subrequest on;
        }
 
        location /web2 {
            proxy_pass http://web2;
            proxy_set_header Host  127.0.0.1;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_set_header Cookie $http_cookie;
            log_subrequest on;
        }
Pour plus d'articles techniques liés à Nginx, veuillez visiter la colonne

Tutoriel Nginx pour apprendre !

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!

Déclaration:
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