The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от opennews (??), 16-Апр-24, 22:54 
Сформирован выпуск основной ветки nginx 1.25.5, в рамках которой продолжается развитие новых возможностей. В параллельно поддерживаемой стабильной ветке 1.24.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В дальнейшем на базе основной ветки 1.25.x будет сформирована стабильная ветка 1.26. Код проекта написан на языке Си и распространяется под лицензией BSD...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=61003

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


3. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от Аноним (-), 16-Апр-24, 23:41 
> Выпуск 1.26.0 отмечен как стабильный релиз, вобравший в себя изменения
> и исправления из выпусков mainline-ветки Nginx 1.25

Т.е. git pull origin, как и предполагалось.
А сколько пафоса было...

Ответить | Правка | Наверх | Cообщить модератору

4. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +5 +/
Сообщение от Аноним (4), 16-Апр-24, 23:47 
Ждём LibreNginx под GPLv3.
Ответить | Правка | Наверх | Cообщить модератору

7. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +3 +/
Сообщение от Аноним (7), 17-Апр-24, 00:08 
А что OpenNginx уже есть? А то может подсуетиться. Пакеты пересобирать я тоже могу.
Ответить | Правка | Наверх | Cообщить модератору

14. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +2 +/
Сообщение от аннаним (?), 17-Апр-24, 03:18 
Забронирую NetNginx
Ответить | Правка | Наверх | Cообщить модератору

20. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +1 +/
Сообщение от User (??), 17-Апр-24, 06:57 
Они вроде свой httpd из relayd скрафтили, если мне память не изменяет.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

22. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +3 +/
Сообщение от Аноним (22), 17-Апр-24, 08:26 
А твой open он как открытое пиво или как открытая дверь? Надо уточнить по философии гну https://www.gnu.org/philosophy/free-sw.en.html
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

24. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от Аноним (24), 17-Апр-24, 09:17 
Не вздумайте занять FUNginx
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

31. Скрыто модератором  +/
Сообщение от Аноним (31), 17-Апр-24, 11:35 
Ответить | Правка | Наверх | Cообщить модератору

30. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от Аноним (31), 17-Апр-24, 11:33 
Open- чаще ассоциируется с пермессивом.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

39. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от Аноним (39), 17-Апр-24, 19:02 
Ну или с Тео: "Для большей безопасности мы реализовали только 5% фич (но дыр от этого меньше не стало)"
Например, OpenSMTPD.
Ответить | Правка | Наверх | Cообщить модератору

5. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +1 +/
Сообщение от Аноним (5), 17-Апр-24, 00:07 
Паллиативная поддержка «более быстрого Апача» для легасных систем скукожилась до минорщины. А вся драма дунинского форка оказалась фарсом, в конце которого дунин просто нажал «Fetch and merge» на гитхабе.
Ответить | Правка | Наверх | Cообщить модератору

8. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +1 +/
Сообщение от Аноним (-), 17-Апр-24, 00:09 
Дунин-Кулаков короче.
Ответить | Правка | Наверх | Cообщить модератору

23. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от Аноним (22), 17-Апр-24, 08:29 
Всё уже давно сидят на нормальных вебсерверах. В которых искоропки есть хелсчек для балансировщика, а не как в бесплатной версии нжинкса, где его нет.    
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

38. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  –1 +/
Сообщение от Аноним (39), 17-Апр-24, 19:00 
nginx обычно ставят перед одним апстримом, так что активный health check не имеет особого смысла.

Там, где апстримов больше, лучше использовать специализированные прокси — Envoy, HAProxy.

Ответить | Правка | Наверх | Cообщить модератору

41. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от Аноним (22), 17-Апр-24, 19:15 
Конечно не ставят у него же нет хелсчека, он есть в plus версии. А засовывание такого простого функционала в платку уже говорит о пути не туда и деградации. Опять же если бы хелсчек не был нужен его бы ни в какой версии не было.
Ответить | Правка | Наверх | Cообщить модератору

43. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  –1 +/
Сообщение от пох. (?), 18-Апр-24, 07:25 
Тебе ж команда импортозаместителей сп-ла и шва6одно раздает... а, стоп, а вовсе и не шва6одно, это фича pro.

> А засовывание такого простого функционала

был бы он такой простой - ты бы его ведь сам за пол-часа написал, написал бы, ГА?!

Ответить | Правка | Наверх | Cообщить модератору

45. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  –1 +/
Сообщение от Аноним (45), 18-Апр-24, 09:52 
https://opennet.ru/60722-pingora
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

10. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +2 +/
Сообщение от Аноним (10), 17-Апр-24, 00:59 
Извините, что не в курсе этих "корпоративных дрязг", но что и как мешает людям юзать оригинальный нгынкс? Я вот скачал бинарь для оффтопика - всё работает, денег не просит. Чё не так?
Ответить | Правка | Наверх | Cообщить модератору

11. Скрыто модератором  +3 +/
Сообщение от Аноним (11), 17-Апр-24, 01:31 
Ответить | Правка | Наверх | Cообщить модератору

27. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от 1 (??), 17-Апр-24, 10:10 
Ну у каждого свои тараканы. Кому-то религия не позволяет, кому-то классовая ненависть.
Если не парит, используй что работает.
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

18. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от вася (??), 17-Апр-24, 06:17 
>>Выпуск 1.26.0 отмечен как стабильный релиз

И сразу же
>>в состав FreeNginx 1.26.0 вошли экспериментальная поддержка

Проводим эксперименты и называем это стабильным релизом, ну нормально.

Ответить | Правка | Наверх | Cообщить модератору

29. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от Аноним (29), 17-Апр-24, 10:24 
Есть stable (где все более-менее стабилизировано), а есть mainline, который для прода. Всегда так было, в оригинале тоже.
Ответить | Правка | Наверх | Cообщить модератору

50. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от Аноним (50), 26-Апр-24, 23:57 
Четные версии - стабильные, нечетные версии - основные. Но вообще да, экспериментальные фичи, наверное, должны быть 1.27
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

25. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от Ilya Indigo (ok), 17-Апр-24, 09:41 
У вас не возникало необходимости из nginx обратиться к redis?

У меня появилось необходимость это сделать, что бы прочитать сессионный ключ пользователя из кук, затем обратится к redis, он обрабатывает php-сессии, чтобы получить id пользователя из сессии по этому ключу, если он есть, а затем сравнить его с id из URL и решить можно ли отдавать пользователю это изображение или вернуть 403.

Я собрал модули
http-redis https://build.opensuse.org/package/show/home:13ilya/nginx-mo...
и
redis2 https://build.opensuse.org/package/show/home:13ilya/nginx-mo...,
но они, к сожалению, оказались бесполезными для этой задачи.
http-redis используется только для кеширования и может только получить по ключу данные и целиком их отправить в stdout,
а redis2 может только сохранять, так как при получение каких-либо данных он эти данные вместе с отладочной информацией, аналогичной при работе с redis-cli сразу отправляет в stdout и их не возможно сохранить в переменную и обработать для принятия дальнейшего решения.

Я так понял, единственный выход это сделать через OpenResty или модуль lua.
OpenResty, почему-то не собирает ни один дистрибутив, не смотря на совместимую с GPL лицензию, и предлагается подключать сторонние репозитории, в которых даже nginx поставлается свой. Этот вариант мне не очень нравится, но даже так там нет репозитория для OpenSUSE Tumbleweed, только для openSUSE Leap.

Попробовал для начала собрать lua модуль сам https://build.opensuse.org/package/show/home:13ilya/nginx-mo...
и запнулся над тем, что ему нужен luajit с поддержкой FFI

checking for Lua language 5.1 ... found
checking for LuaJIT has FFI ... not found
./configure: error: unsupported LuaJIT build; ngx_http_lua_module requires LuaJIT with FFI enabled.

При этом в апстиме сказано что поддержка FFI включена по умолчанию,
https://luajit.org/ext_ffi_tutorial.html
и в downstream я не нашёл её отключения.
https://build.opensuse.org/package/show/devel:languages:lua/...

На этом пока и запнулся. :-(
Может у вас есть опыт со сборкой  OpenResty или тем как решить подобную задачу обращения nginx к redis?

Ответить | Правка | Наверх | Cообщить модератору

26. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +1 +/
Сообщение от 1 (??), 17-Апр-24, 10:05 
Хм ... вроде Lua нормально к nginx подключается - всё по мануалу.

===================== ну типа заметки, надо бы функцию на opennet скрывать под котом :-) ==================
Lua

Alternatively, ngx_lua can be manually compiled into Nginx:

    LuaJIT can be downloaded from the latest release of OpenResty's LuaJIT fork. The official LuaJIT 2.x releases are also supported, although performance will be significantly lower for reasons elaborated above

$ git clone https://github.com/openresty/luajit2
$ cd luajit2
$ make
$ sudo make install

(Возможно будет работать с стандартным libluajit-5.1-dev после apt-get install libluajit-5.1-dev.)

    Download the latest version of the ngx_devel_kit (NDK) module HERE (git clone https://github.com/vision5/ngx_devel_kit)
    Download the latest version of ngx_lua HERE (git clone https://github.com/openresty/lua-nginx-module)
    Download the latest supported version of Nginx HERE (See Nginx Compatibility) nginx-1.19.9.tar.gz

Распаковываем в modules Указываем - куда установлен luajit (в нашем случае /usr/local)

export LUAJIT_LIB=/path/to/luajit/lib
export LUAJIT_INC=/path/to/luajit/include/luajit-2.1

Добавляем в configure -

--add-module=modules/ngx_devel_kit \
--add-module=modules/lua-nginx-module \
--add-module=modules/ModSecurity-nginx

или

--add-dynamic-module=modules/ngx_devel_kit \
--add-dynamic-module=modules/lua-nginx-module \
--add-dynamic-module=modules/ModSecurity-nginx

Ответить | Правка | Наверх | Cообщить модератору

48. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от Ilya Indigo (ok), 19-Апр-24, 11:03 
Благодарю!
Вся моя проблема была в отсутствии 2-ой строки.

export LUAJIT_INC=%{_includedir}/luajit-5_1-2.1
export LUAJIT_LIB=%{_libdir}

Видимо если переопределяю LUAJIT_INC то нужно сразу и переопределить LUAJIT_LIB даже если она стандартная.

Луамодуль собрал, буду собирать lua-resty-redis.

P.S. /var/log/nginx/error.log

2024/04/19 11:21:48 [alert] 23985#23985: detected a LuaJIT version which is not OpenResty's; many optimizations will be disabled and performance will be compromised (see https://github.com/openresty/luajit2 for OpenResty's LuaJIT or, even better, consider using the OpenResty releases from https://openresty.org/en/download.html)
2024/04/19 11:21:48 [alert] 23985#23985: failed to load the 'resty.core' module (https://github.com/openresty/lua-resty-core); ensure you are using an OpenResty release from https://openresty.org/en/download.html (reason: module 'resty.core' not found:
    no field package.preload['resty.core']
    no file './resty/core.lua'
    no file '/usr/share/luajit-5_1-2.1/resty/core.lua'
    no file '/usr/local/share/lua/5.1/resty/core.lua'
    no file '/usr/local/share/lua/5.1/resty/core/init.lua'
    no file '/usr/share/lua/5.1/resty/core.lua'
    no file '/usr/share/lua/5.1/resty/core/init.lua'
    no file './resty/core.so'
    no file '/usr/local/lib/lua/5.1/resty/core.so'
    no file '/usr/lib64/lua/5.1/resty/core.so'
    no file '/usr/local/lib/lua/5.1/loadall.so'
    no file './resty.so'
    no file '/usr/local/lib/lua/5.1/resty.so'
    no file '/usr/lib64/lua/5.1/resty.so'
    no file '/usr/local/lib/lua/5.1/loadall.so') in /etc/nginx/nginx.conf:67

Ещё и lua-resty-core нужен.

Ответить | Правка | Наверх | Cообщить модератору

28. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +1 +/
Сообщение от 1 (??), 17-Апр-24, 10:13 
Чуть не забыл -
lua_package_path "/usr/share/nginx/lib/lua/?.lua;;";
в секцию http.
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

40. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от Аноним (39), 17-Апр-24, 19:04 
Зачем тащить это всё в event loop сервера?
Если что, исполнение lua там блокирующее, так что если redis отвалится — встанет весь веб-сервер.

Лучше сделайте external authz https://docs.nginx.com/nginx/admin-guide/security-controls/c.../

Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

44. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от Ilya Indigo (ok), 18-Апр-24, 09:02 
Вы вообще читали изначальную техническую задачу, 2-ой абзац?

> Зачем тащить это всё в event loop сервера?

Затем, что в nginx и в его кучи новодельных форках нету простой возможности обратиться к redis и получать от него данные. Мне самому этот луа 300 лет не нужен, но по другому к redis не обратиться, а вешать отдачу статики на php-fpm мне очень не хочется.

> Лучше сделайте external authz https://docs.nginx.com/nginx/admin-guide/security-controls/c.../

И как этот external authz будет обращаться к redis?

Ответить | Правка | Наверх | Cообщить модератору

49. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  –1 +/
Сообщение от Аноним (49), 20-Апр-24, 03:00 
Да как угодно. Десять строк кода на golang, например
Ответить | Правка | Наверх | Cообщить модератору

46. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  –1 +/
Сообщение от Alex_Kemail (??), 18-Апр-24, 20:39 
Ваша задача неплохо решится через X-Accel-Redirect
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

47. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от Ilya Indigo (ok), 19-Апр-24, 09:12 
Моя задача НЕ решается с помощью этого заголовка!
X-Accel-Redirect может лишь более безопасно скрыть реальный путь защищённого статического контента, но обращение к redis за авторизацией он не выполнит.
Ответить | Правка | Наверх | Cообщить модератору

33. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от Аноним (33), 17-Апр-24, 12:01 
Скрепно, но мы используем реализацию от cloudflare на хрусте.
Ответить | Правка | Наверх | Cообщить модератору

35. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  +/
Сообщение от Роман (??), 17-Апр-24, 18:10 
> Добавлен новый модуль ngx_stream_pass_module, предназначенный для проброса принятых соединений напрямую в любой слушающий сокет, связанный с такими модулями, как http, stream и mail.

В чем предназначение и удобство кроме некоего синтаксического сахара, какой вариант предпочтительного использования?

Ответить | Правка | Наверх | Cообщить модератору

42. "Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 "  –1 +/
Сообщение от Аноним (22), 17-Апр-24, 19:21 
Может что конфиг самодокументировался и было меньше магии?
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру