首頁  >  文章  >  運維  >  Nginx反向代理如何實現會話保持

Nginx反向代理如何實現會話保持

WBOY
WBOY轉載
2023-05-20 19:25:201510瀏覽

一、ip_hash:

ip_hash使用來源位址雜湊演算法,將同一客戶端的請求總是發送到同一個後端伺服器,除非該伺服器不可用。

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簡單易用,但有以下問題:

  • 當後端伺服器宕機後,session會遺失;

  • 來自同一區域網路的用戶端會被轉送到同一個後端伺服器,可能導致負載失衡;

  • ##不適用於cdn網絡,不適用於前段還有代理的情況。


二、sticky_cookie_insert:

使用sticky_cookie_insert啟用會話親緣關係,這會導致來自同一客戶端的請求被傳遞到一組伺服器在同一台伺服器。與ip_hash不同之處在於,它不是基於ip來判斷客戶端的,而是基於cookie來判斷。因此可以避免上述ip_hash中來自同一區域網路的客戶端和前段代理程式導致負載失衡的情況。

語法:


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

說明:

  • #expires:設定瀏覽器中保持cookie的時間

  • domain:定義cookie的網域

  • path:為cookie定義路徑

以上是Nginx反向代理如何實現會話保持的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除