В настоящее время у нас есть следующая установка:
[Client] -> [haproxy] -> [Nginx] -> [App Servers]
В настоящее время Nginx устанавливает привязку файлов cookie к серверам приложений, устанавливая файл cookie, например: public-client
. Однако с появлением HAProxy файл cookie отсутствует на стороне клиента, и привязка сеанса к серверам приложений нарушена.
Я пробирался через документацию и наткнулся на атрибут под названием оценка это могло сработать, но похоже, что оно устарело. Рекомендация - использовать столик но я не совсем уверен, как сохранить файл cookie с этим атрибутом.
Кто-нибудь знает, как это можно сделать?
Заметка: Я полностью осведомлен о дублировании обратных прокси, но наша архитектура требует этого.
Обнаружена проблема
Итак, на основе комментария ниже я запустил tcdump
на сервере HAProxy и Nginx, чтобы проверить, где cookie не был установлен / передан.
Команда, которую я запускал для справки:
sudo /usr/sbin/tcpdump -A -l dst port 80 -i any | grep "^Cookie: "
Это показало мне файлы cookie приложений на серверах HAProxy и Nginx. Однако файл cookie, который должен был установить Nginx, не входил в поток трафика к HAProxy, что изолировало проблему от того, что Nginx не установил файл cookie.