Foi publicada a versão principal do nginx 1.29.6, que continua a desenvolver novas funcionalidades. Na versão estável suportada paralelamente 1.28.x, são feitas apenas alterações relacionadas à correção de erros graves e vulnerabilidades. No futuro, com base na versão principal 1.29.x, será formada a versão estável 1.30. O código do projeto é escrito em C e é distribuído sob a licença BSD.
Na nova versão, foi adicionada a funcionalidade de vincular sessões de clientes aos mesmos servidores em um grupo. Estão disponíveis três métodos: "cookie" — transmissão de dados sobre a seleção através do Cookie especificado; "route" — o servidor proxy atribui uma rota ao cliente ao receber a primeira solicitação; "learn" — o nginx analisa as respostas do servidor upstream e memoriza as sessões iniciadas pelo servidor. Para configurar a vinculação, foi adicionada a diretiva "sticky" ao bloco "upstream" do módulo "http", e os parâmetros "route" e "drain" foram adicionados à diretiva "server". servidor Através do Cookie srv_id, o servidor "a" ou "b" é definido. upstream backend { server backend1.example.com route=a; server backend2.example.com route=b; sticky cookie srv_id expires=1h domain=.example.com path=\/; } O caminho é obtido do Cookie "JSESSIONID" ou, se não estiver definido, do parâmetro jsessionid na 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; } O servidor upstream cria uma sessão, definindo o Cookie "EXAMPLECOOKIE" na primeira resposta. As demais solicitações com esse Cookie são direcionadas a um único. servidorupstream backend { server backend1.example.com:8080; server backend2.example.com:8081; sticky learn create=$upstream_cookie_examplecookie lookup=$cookie_examplecookie zone=client_sessions:1m; }
Fonte: opennet.ru
