V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dunhanson
V2EX  ›  程序员

nginx lua redis 操作困惑

  •  
  •   dunhanson · 2022-06-08 15:27:08 +08:00 · 1235 次点击
    这是一个创建于 659 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1 、最早用的原生的 nginx ,安装插件 lua-nginx-module 一直失败不知道为啥,资料也很少

    后面就直接跑了 openresty

    2 、我的需求是每次把客户端 ip 从 redis 里面进行判断

    如果存在改 ip 修改 nginx 变量: $jump_upstream

    最后 if 判断$jump_upstream ,跳转到指定 upstream

    3 、现在遇到一个问题就是:lua-resty-redis

    https://github.com/openresty/lua-resty-redis

    官方的例子是写在 content_by_lua_block 里面

    我写在 set_by_lua_block 里面提示不支持

    感觉这玩意好麻烦呀,有没有?

    5 条回复    2022-06-08 16:00:58 +08:00
    rrfeng
        1
    rrfeng  
       2022-06-08 15:27:44 +08:00 via Android
    文档有写,某些阶段不支持 socket 操作
    dunhanson
        2
    dunhanson  
    OP
       2022-06-08 15:32:52 +08:00
    @rrfeng 我这种需求咋实现呢,我有点头大
    sujin190
        3
    sujin190  
       2022-06-08 15:42:52 +08:00
    @dunhanson #2 rewrite_by_lua 吧,lua 本身就能调用 rewrite 吧,所以并不需要给 $jump_upstream 赋值然后再在 nginx 配置文件来配置 rewrite 吧
    sujin190
        4
    sujin190  
       2022-06-08 15:45:20 +08:00
    dunhanson
        5
    dunhanson  
    OP
       2022-06-08 16:00:58 +08:00
    @sujin190 确实可以了,谢谢了, 在里面修改 nginx 变量都没问题了 哈哈哈

    https://cdn-github.dunhanson.site/img/202206081600218.png
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3940 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:24 · PVG 18:24 · LAX 03:24 · JFK 06:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.