我有以下担忧,我用 Java (Tomcat) 编写了一个 APP 服务器,允许人们通过 GridFS 将图片上传到 MongoDB。上传到那里后,我将位置存储到应用程序数据库 (Cassandra),并在上下文需要时随时将位置发送给用户。每个用户都通过自己的 JWT 进行身份验证,我会在发送内容 JSON 之前在 APP 服务器上对其进行验证。
出于性能原因,我计划将图片下载部署到更快的服务器(检查基准测试后我发现在 MongoDB 前使用 NGINX 比从 Apache 或 Tomcat 流式传输文件要快得多)。
我担心的是,NGINX 有 GridFS 模块,可让您从 MongoDB 提供数据,但从本质上讲,NGINX 是一个代理,因此它只能提供我的数据库所拥有的任何数据。如果我想在提供内容之前也从“图像服务器”(NGINX)验证用户的 JWT,该怎么办?有没有现成的模块或任何易于实施的解决方案?
大家好,如果造成了混淆,请见谅!
答案1
有一个插件可以用作 jwt 身份验证,但我从未使用过它。也许它可以在你的场景中有所帮助:https://github.com/auth0/nginx-jwt
答案2
你可以尝试一下https://github.com/svyatogor/resty-lua-jwt,mb它会有所帮助。