У меня есть приложение, которое работает на двух разных экземплярах AWS, и я хотел бы включить «липкие» или «постоянные» сеансы на основе IP, чтобы я мог особым образом воспользоваться преимуществами технологий веб-сокетов.
У меня есть две разные установки, которые обе включают использование ip_hash
для включения этих липких сессий.
В первой настройке процессы приложения выполняются в том же экземпляре, что и конфигурация Nginx. Это работает , сеансы являются постоянными, как и ожидалось.
upstream my_app {
ip_hash;
# local servers
server 127.0.0.1:3001 weight=100 max_fails=5 fail_timeout=300;
server 127.0.0.1:3002 weight=100 max_fails=5 fail_timeout=300;
keepalive 8;
}
Во второй настройке я указываю на внешние экземпляры и пытаюсь добиться того же эффекта. Эта установка не работает . Другими словами, сессии все еще находятся в режиме балансировки нагрузки.
upstream my_app {
ip_hash;
# external servers
server 111.11.11.11:3001 weight=100 max_fails=5 fail_timeout=300;
server 222.22.22.22:3002 weight=100 max_fails=5 fail_timeout=300;
keepalive 8;
}
Я ip_hash
правильно использую ? Как включить «липкие» сеансы на основе ip для внешних серверов?