У мене є програма, яка працює на двох різних екземплярах 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 для зовнішніх серверів?