首頁 > 運維 > Nginx > 主體

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

WBOY
發布: 2023-05-20 19:25:20
轉載
1584 人瀏覽過

一、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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板