Maison  >  Article  >  Opération et maintenance  >  Comment le proxy inverse Nginx implémente la persistance de session

Comment le proxy inverse Nginx implémente la persistance de session

WBOY
WBOYavant
2023-05-20 19:25:201581parcourir

1. ip_hash :

ip_hash utilise l'algorithme de hachage d'adresse source pour toujours envoyer les requêtes du même client au même serveur backend, sauf si le serveur est indisponible.

Syntaxe ip_hash :

 upstream backend {
  ip_hash;
  server backend1.example.com;
  server backend2.example.com;
  server backend3.example.com down;
  server backend4.example.com;
}

ip_hash est simple et facile à utiliser, mais présente les problèmes suivants :

  • Lorsque le serveur principal tombe en panne, la session sera perdue

  • Clients de celui-ci ; Le LAN sera transféré vers le même LAN. Un serveur backend peut provoquer un déséquilibre de charge

  • ne convient pas aux réseaux CDN et ne s'applique pas aux situations où il y a un proxy dans le front-end.

2. sticky_cookie_insert :

Utilisez sticky_cookie_insert pour activer l'affinité de session, ce qui entraînera la transmission des requêtes du même client à un ensemble de serveurs sur le même serveur. La différence avec ip_hash est qu'il ne juge pas le client en fonction de l'adresse IP, mais en fonction du cookie. Par conséquent, le déséquilibre de charge provoqué par le client et le proxy frontal du même LAN dans l'ip_hash ci-dessus peut être évité.

Syntaxe :

 upstream backend {
  server backend1.example.com;
  server backend2.example.com;
  sticky_cookie_insert srv_id expires=1h domain=toxingwang.com path=/;
}

Description :

  • expire : Définir la durée de conservation des cookies dans le navigateur

  • domain : Définir le domaine du cookie

  • path : Définir le chemin du cookie

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer