HAProxy で Cookie を保存するにはどうすればいいですか?

HAProxy で Cookie を保存するにはどうすればいいですか?

現在、次のような設定になっています。

[Client] -> [haproxy] -> [Nginx] -> [App Servers]

Nginx は現在、Cookie を設定することで、アプリケーション サーバーに Cookie アフィニティを設定します。public-clientただし、HAProxy の導入により、Cookie はクライアント側に存在せず、アプリケーション サーバーへのセッション アフィニティが壊れてしまいます。

ドキュメントを読んでいて、次のような属性を見つけました。アプリセッションうまくいったかもしれないが、廃止されたようだ。推奨されるのはスティックテーブルしかし、その属性を持つ Cookie を保存する方法がよくわかりません。

これを実現する方法を知っている人はいますか?

注記: リバース プロキシの重複については十分承知していますが、当社のアーキテクチャではそれが必須です。

問題が発見されました

そこで、以下のコメントに基づいて、tcdumpHAProxy および Nginx サーバー上で実行し、Cookie が設定/渡されていない場所を検証しました。

参考までに実行したコマンド:

sudo /usr/sbin/tcpdump -A -l dst port 80 -i any | grep "^Cookie: "

これにより、HAProxy サーバーと Nginx サーバー上のアプリケーション クッキーが表示されました。ただし、Nginx が設定するはずのクッキーは HAProxy へのトラフィック フローに存在しなかったため、問題は Nginx がクッキーを設定していないことに起因していることが判明しました。

関連情報