Nginx 1.35.1
Вышла новая версия nginx!
И вместе с этим релизом (1.35.1) появились ряд интересных новых возможностей:
Control API
Вот этот функционал теперь в open source версии тоже.
Т.е. теперь можно через REST API рулить процессами nginx. Есть вопросы и ньюансы по безопасности, которым стоит уделить внимание, но в целом может быть очень полезным.
Predicate Location
Директиву location теперь можно задавать не только с помощью префиков и регулярок, но и с помощью переменных:
Вот пример из доков:
location = / {
[ конфигурация А ]
}
location / { [ конфигурация Б ] }
location /documents/ { [ конфигурация В ] }
location ^~ /images/ { [ конфигурация Г ] }
location ~* .(gif|jpg|jpeg)$ { [ конфигурация Д ] }
location $arg_pred { [ конфигурация Е ] }
Т.е. если есть в параметрах аргумент pred и он не пустой (стоит сказать, что 0 тоже не прокатит), тогда выберется последний маршрут
ngx_http_json_module
Добавлен новый модуль для работы с json внутри nginx.
Если буквально, то модуль позволяет разбирать json и сохранять оттуда значения в переменных.
Надо подумать, как это лучше использовать, но т.е. можно получается проводить операции с json без бэка, ну или до бэка.*
* Важный момент! Контекст директивы http, т.е. это будет определяться на глобальном уровне, а кастомизировать на уровне server или location не получится.
Директива client_body_early_read
Она включает чтение тела запроса клиента сразу после получения заголовков запроса.
Как раз полезна для работы нового json модуля. Т.е. без ее включения не будет доступен тот же request body в контексте server-а.
Вот линк на список изменений