[ON] Выпуск nginx 1.29.6

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6001
ОС: gnu/linux

[ON] Выпуск nginx 1.29.6

Сообщение rssbot »

Опубликован выпуск основной ветки nginx 1.29.6, в которой продолжается развитие новых возможностей. В параллельно поддерживаемую стабильную ветку 1.28.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В дальнейшем на базе основной ветки 1.29.x будет сформирована стабильная ветка 1.30. Код проекта написан на языке Си и распространяется под лицензией BSD.



В новом выпуске добавлена возможность привязки сеансов клиентов к одним и тем же серверам в группе. Доступно три метода: "cookie" - передача данных о выбранном сервере через указанную Cookie; "route" - проксируемый сервер назначает клиенту маршрут при получении первого запроса; "learn" - nginx анализирует ответы от upstream-сервера и запоминает начатые сервером сеансы. Для настройки привязки в блок "upstream" модуля "http" добавлена директива "sticky", а в директиву "server" добавлены параметры "route" и "drain".

Код:

# Через Cookie srv_id выставляется сервер "a" или "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=/;
}


# Маршрут берётся из Cookie "JSESSIONID" или если она не выставлена из параметра jsessionid в 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;
}


# upstream-сервер создаёт сеанс, выставив при первом ответе Cookie "EXAMPLECOOKIE".
# Остальные запросы с данной Cookie направляются к одному серверу.
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;
}







Источник: https://www.opennet.ru/opennews/art.shtml?num=64961
(opennet.ru, мини-новости)
Спасибо сказали: