Ho un'applicazione in esecuzione su due diverse istanze AWS e mi piacerebbe abilitare sessioni "permanenti" o "persistenti" basate su IP in modo da poter sfruttare le tecnologie dei socket Web in un modo particolare.
Ho due diverse configurazioni che coinvolgono entrambe ip_hash
per abilitare queste sessioni appiccicose.
Nella prima configurazione, i processi dell'app sono in esecuzione sulla stessa istanza della configurazione Nginx. Questo si lavora , le sessioni sono persistenti come previsto.
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;
}
Nella seconda configurazione, sto puntando a istanze esterne e sto cercando di ottenere lo stesso effetto. Questa configurazione non funziona . In altre parole, le sessioni sono ancora in fase di bilanciamento del carico.
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;
}
Sto usando ip_hash
correttamente? Come posso abilitare sessioni "sticky" basate su ip per server esterni?