大佬们好,我现在写了一个lua脚本用来验证accesstoken,如果这个accesstoken没通过,nginx会返回一个401
local jwt_obj = jwt:verify(secret, puretoken)
ngx.log(ngx.ERR, "JWT verification result-n: ", cjson.encode(jwt_obj))
if not jwt_obj["verified"] then
ngx.log(ngx.ERR, "ACCESS DENIED")
ngx.status = ngx.HTTP_UNAUTHORIZED
ngx.say("Unauthorized: Invalid Access Token")
ngx.exit(ngx.HTTP_UNAUTHORIZED)
return
end 之后我把他放到location块中,按照设想,如果验证通过会将请求发给后端,就是走proxy_pass,如果不通过就返回401,但是现在只要加上proxy_pass,请求似乎就不会走lua模块里的内容,直接就请求到了后端,log里面的东西也没在error.log里面打印出来
/web{
content_by_lua_block{
xxx
}
rewrite ^/npmis(/.*)$ $1 break;
}
请问这是为什么?