ホームページ  >  記事  >  運用・保守  >  Nginx リバースプロキシがセッション永続性を実装する方法

Nginx リバースプロキシがセッション永続性を実装する方法

WBOY
WBOY転載
2023-05-20 19:25:201559ブラウズ

1. 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 はシンプルで使いやすいですが、次の問題があります。サーバーがダウンすると、セッションが失われます;

  • 同じ LAN からのクライアントは同じバックエンド サーバーに転送されるため、負荷の不均衡が生じる可能性があります;

  • 適用外 CDN ネットワークの場合、前段にエージェントが存在する状況には適用されません。


  • 2. Sticky_cookie_insert:

Sticky_cookie_insert を使用してセッション アフィニティを有効にすると、同じクライアントからのリクエストが同じサーバー上のサーバーのグループに配信されます。 ip_hash との違いは、IP に基づいてクライアントを判断するのではなく、Cookie に基づいてクライアントを判断することです。したがって、上記の ip_hash で同じ LAN からのクライアントとフロントエンド プロキシによって引き起こされる負荷の不均衡を回避できます。 #構文:

 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。