Mam aplikację działającą w dwóch różnych instancjach AWS i chciałbym włączyć sesje „lepkie” lub „trwałe” oparte na IP, aby w szczególny sposób móc korzystać z technologii gniazd sieciowych.
Mam dwie różne konfiguracje, z których obie wymagają użycia, ip_hash
aby umożliwić te lepkie sesje.
W pierwszej instalacji procesy aplikacji działają w tej samej instancji, co konfiguracja Nginx. To jest praca , sesje są trwałe, jak oczekiwano.
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;
}
W drugiej konfiguracji wskazuję na instancje zewnętrzne i staram się osiągnąć ten sam efekt. Ta konfiguracja nie działa . Innymi słowy, sesje wciąż są równoważone obciążeniem.
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;
}
Czy używam ip_hash
poprawnie? Jak mogę włączyć „lepkie” sesje IP dla serwerów zewnętrznych?