Проблема с липким печеньем в AWS ALB
Недавно мы перешли с aws elb на aws alb; но мы сталкиваемся с проблемой в aws alb; липкость печенья не работает вообще; для каждого запроса (событие ajax request на странице) генерируется новый cookie;
если мы снова вернемся к aws elb, липкость печенья работает отлично.
1 ответ
AWSALB - это файл cookie, сгенерированный балансировщиком нагрузки приложения в AWS. Это работает немного отличается от AWSELB.
Файл cookie ASWALB - это файл cookie, созданный для балансировки нагрузки. Как только балансировщик нагрузки направляет ваш запрос на один из серверов, он генерирует новый файл cookie и отправляет его клиенту в заголовке ответа. Хотя AWSALB отлично работает, когда вы просто отправляете webapp_session для последовательного запроса, лучше интегрировать cookie AWSALB вместе с webapp_session и отправлять его для каждого запроса на сервер. Таким образом, балансировщик нагрузки будет идентифицировать ваш целевой сервер и направлять ваш запрос к одной и той же цели при каждом обращении к серверу. Это сохраняет липкость сервера.
Однако если вы отправите AWSALB вместе с webapp_session в заголовке запроса для каждого запроса к серверу, даже если цель, обработавшая ваши предыдущие запросы, будет занята для будущих запросов, AWSALB, сгенерированный в каждом вызове, поможет балансировщику нагрузки идентифицировать ваши учетные данные. и направьте ваш запрос к новой цели. Я столкнулся с подобной ситуацией, и это помогло мне решить проблему.
Тема "КЛЕЙКАЯ СЕССИЯ" в этом https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html, возможно, поможет вам получить представление.
Для приложения LB вам необходимо настроить закрепление сеанса в целевой группе, а не непосредственно в LB, как в Classic LB. Привязанность сеанса не работает, когда ваш браузер блокирует AWSALBCORS, AWSALB - это кажется очевидным, но Internet Explorer может блокировать эти файлы cookie и не отображает никаких предупреждений / информации в консоли.