正在使用lua脚本查找存储在redis中的数据 - 它提供了一些关于etags和mime类型的额外处理,以防止使用基本的redis模块。
我遇到的问题是将404错误传回nginx.conf以进行错误处理。尽管设置状态等。错误似乎没有被捕获。
在理想的世界里!以下将允许在没有数据可以位于redis中的情况下返回临时图像。
nginx.conf
location /prefix/ {
content_by_lua_file conf/redis.lua;
error_page 404 = /images/not-available.png;
}
redis.lua
...
local arr, error = red:hgetall(uri)
if not arr then
ngx.log(ngx.ERR, "Redis failed locate uri: "..uri)
ngx.status = 404
return ngx.exit(ngx.HTTP_NOT_FOUND)
end
...
答案 0 :(得分:0)
问题已经解决 - 最终它不是404处理程序,它是if语句中的比较
local arr, error = red:hgetall(uri)
if not arr then
arr似乎即使有错过也会被设置 - 与解决问题的值nil相比。