De hoofdversie nginx 1.29.6 is gepubliceerd, waarin de ontwikkeling van nieuwe mogelijkheden doorgaat. In de parallel ondersteunde stabiele tak 1.28.x worden alleen wijzigingen aangebracht die verband houden met het oplossen van ernstige fouten en kwetsbaarheden. In de toekomst zal op basis van de hoofdversie 1.29.x een stabiele tak 1.30 worden gevormd. De code van het project is geschreven in C en wordt verspreid onder de BSD-licentie.
In de nieuwe release is de mogelijkheid toegevoegd om klantensessies aan dezelfde servers in de groep te koppelen. Er zijn drie methoden beschikbaar: 'cookie' ā overdracht van informatie over de geselecteerde de server via de opgegeven Cookie; 'route' ā de proxied server wijst een route aan de klant toe bij ontvangst van het eerste verzoek; 'learn' ā nginx analyseert de antwoorden van de upstream-server en onthoudt de sessies die door de server zijn gestart. Voor het instellen van de binding is de 'sticky'-directieve toegevoegd aan het 'upstream'-blok van de 'http'-module, en aan de 'server'-directieve zijn de parameters 'route' en 'drain' toegevoegd. # Via Cookie srv_id wordt server 'a' of 'b' ingesteld. upstream backend { server backend1.example.com route=a; server backend2.example.com route=b; sticky cookie srv_id expires=1h domain=.example.com path=\/; } # De route wordt gehaald uit de Cookie 'JSESSIONID' of, als deze niet is ingesteld, uit de parameter jsessionid in de URI. 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; } # De upstream-server creĆ«ert een sessie door bij het eerste antwoord de Cookie 'EXAMPLECOOKIE' in te stellen. # Verdere verzoeken met deze Cookie worden naar ƩƩ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; }
Bron: opennet.ru
