HAProxyは、クッキーベースのクライアントセッションを実装保ちます

HAProxyは、クッキーベースのクライアントセッションを実装保ちます

ip_hash使用している場合がある場合、多くのユーザーは、これらのユーザーが使用するパブリックIPが同じであるため、HAproxyはこれかもしれない、同じバックエンドサーバーに派遣する、同じサービスにアクセスするために同じパブリックIPアドレスを使用します他の方法は、スケジュールする必要があるように、単一のサーバによって引き起こさ取得した圧力は、大きすぎます。
HAProxyは、ユーザーの最初の訪問は、応答メッセージでない場合は、そこにあればクッキーを見ることになる際にクッキーの層を達成することができる。ユーザの要求がクッキーに応じてスケジュールされます再びアクセスしたときに、ドライブは、クライアントに戻すクッキーために挿入します。LVSとnginxのは達成できません

クッキー<値>

指定されたクッキーサーバの現在の値、達成するための粘着性のクッキーベースのセッション

cookie NAME [rewrite|insert|prefix] [indirect] [nocache] [postonly] [preserve] [httponly] [secure] [domain <domain>] [maxidle<idle>] [maxlife<life>]
NAME: cookie名称,用于持久连接
rewrite: 重写。如果之前有cookie就会覆盖了重写,或插入到前缀上
insert: 插入
prefix: 前缀
nocache: 当client和haproxy之间有缓存存在时,不缓存cookie

Cookieベースの実装が残ります

設定ファイルを変更し、オプションクックを追加

listen web
 bind 172.20.27.20:80
 mode http
 cookie SERVER-COOKIE insert indirect nocache           #插入cookie选项
 option forwardfor
 server web1 192.168.27.21:80 cookie web1 check inter 3000 fall 3 rise 5    #在后端服务器中拆入cookie的值
 server web2 192.168.27.22:80 cookie web2 check inter 3000 fall 3 rise 5

テスト

パケットのヘッダを表示するためにカールを使用し

[root@localhost ~]# curl -I www.mylinuxops.com
HTTP/1.1 200 OK
Server: nginx/1.17.0
Date: Tue, 04 Jun 2019 11:41:23 GMT
Content-Type: text/html
Content-Length: 8
Last-Modified: Tue, 04 Jun 2019 11:29:30 GMT
ETag: "5cf6561a-8"
Accept-Ranges: bytes
Set-Cookie: SERVER-COOKIE=web2; path=/              #此为插入的cookie信息
Cache-control: private

curlコマンドがクッキーを記録することはできませんので、次回にアクセスするためにブラウザを使用
HAProxyは、クッキーベースのクライアントセッションを実装保ちます

ます。https://blog.51cto.com/11886307/2406614で再現

おすすめ

転載: blog.csdn.net/weixin_34337265/article/details/93011744