The OpenNET Project / Index page

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



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

Оглавление
Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0 , opennews, 16-Апр-24, 22:54  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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