Tengo una aplicación que se ejecuta en dos instancias diferentes de AWS y me gustaría habilitar sesiones "permanentes" o "persistentes" basadas en IP para poder aprovechar las tecnologías de socket web de una manera particular.
Tengo dos configuraciones diferentes que ambas implican usar ip_hash
para habilitar estas sesiones fijas.
En la primera configuración, los procesos de la aplicación se ejecutan en la misma instancia que la configuración de Nginx. Esto está funcionando , las sesiones son persistentes como se esperaba.
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;
}
En la segunda configuración, estoy apuntando a instancias externas y tratando de lograr el mismo efecto. Esta configuración no funciona . En otras palabras, las sesiones todavía están siendo balanceadas en carga.
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;
}
¿Estoy usando ip_hash
correctamente? ¿Cómo puedo habilitar sesiones "fijas" basadas en IP para servidores externos?