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 ネットワークの場合、前段にエージェントが存在する状況には適用されません。
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=/; }
説明:
以上がNginx リバースプロキシがセッション永続性を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。