Den stabile version 1.29.6 af nginx er blevet udgivet, som fortsætter udviklingen af nye funktioner. Den parallelt understøttede stabile version 1.28.x modtager kun ændringer relateret til løsning af alvorlige fejl og sårbarheder. Fremover vil den stabile version 1.30 basere sig på den primære version 1.29.x. Projektkoden er skrevet i C og distribueres under BSD-licensen.
I den nye version er der tilføjet en mulighed for at knytte klienternes sessioner til de samme servere i gruppen. Tre metoder er tilgængelige: 'cookie' — overførsel af data om den valgte serveren gennem den angivne cookie; 'route' — den proxy-server tildeler en rute til klienten ved modtagelse af den første forespørgsel; 'learn' — nginx analyserer svar fra upstream-serveren og husker de sessioner, som serveren har påbegyndt. For at konfigurere bindingen er der tilføjet direktivet 'sticky' i 'upstream'-blokken i 'http'-modulet, og i 'server'-direktivet er der tilføjet parametrene 'route' og 'drain'. # Gennem cookie srv_id er serveren enten 'a' eller 'b'. upstream backend { server backend1.example.com route=a; server backend2.example.com route=b; sticky cookie srv_id expires=1h domain=.example.com path=\/; } # Ruten tages fra cookie 'JSESSIONID' eller, hvis den ikke er angivet, fra parameteren jsessionid i URI'en. map $cookie_jsessionid $route_cookie { ~.+\.(?P\w+)$ $route; } map $request_uri $route_uri { ~jsessionid=.+\.(?P\w+)$ $route; } upstream backend { server backend1.example.com route=a; server backend2.example.com route=b; sticky route $route_cookie $route_uri; } # upstream-serveren opretter en session ved første svar ved at sætte cookie 'EXAMPLECOOKIE'. # De øvrige anmodninger med den pågældende cookie sendes til én server. upstream backend { server backend1.example.com:8080; server backend2.example.com:8081; sticky learn create=$upstream_cookie_examplecookie lookup=$cookie_examplecookie zone=client_sessions:1m; }
Kilde: opennet.ru
