【发布时间】:2020-01-23 05:48:14
【问题描述】:
我对 Lua 和 nginx 非常陌生。我们正在尝试设置身份验证。 我正在尝试编写一个可以注入到我的 NGINX 中的脚本,它实际上会监听一个端点。
我的 api 会给我一个令牌。我会收到这个令牌并检查它是否存在于我的 YAML 文件或 JSON 文件中。
基于文件中提到的权限,我想将其重定向到具有必要权限的相应 url。
任何帮助将不胜感激。
【问题讨论】:
-
nginx 没有任何非阻塞磁盘 I/O,所以你应该重新考虑基于文件的解决方案,或者设置一个简单的“上游”服务来检查令牌 if 你需要每秒处理很多请求。
-
上游服务是否允许我进行基于条件的路由?抱歉听起来像个菜鸟,但我在这里完全是新人..
-
你当然可以把所有的逻辑放在nginx里。问题是,当 nginx 打开一个文件进行读取时,整个工作进程会停止,直到它完成从磁盘读取所述文件,这通常是您不想要的。
-
当然你也可以在启动服务器(
init_by_lua_block)时只加载json或yaml文件一次,然后将其留在内存中以供验证时使用(rewrite_by_lua_block)。 -
如何使用 lua 读取和解析 json 文件?这是否需要任何额外的软件包安装?我们将使用 openResty
标签: api http nginx lua nginx-config