location = /hello {
access_by_lua_block {
ngx.say("access_by_lua_block")
}
content_by_lua_block {
ngx.say("content_by_lua_block")
}
}
验证结果:
➜ ~ curl '127.0.0.1:8866/hello' --http1.0
access_by_lua_block
content_by_lua_block
➜ ~ curl '127.0.0.1:8866/hello' --http1.1
access_by_lua_block
测试结果表明不同的 HTTP 协议版本对 access 阶段处理流程有差异。
按照官方 wiki 说明,修改代码:
location = /hello {
access_by_lua_block {
ngx.say("access_by_lua_block")
ngx.exit(ngx.HTTP_OK)
}
content_by_lua_block {
ngx.say("content_by_lua_block")
}
}
再次测试结果,符合预期:
➜ ~ curl '127.0.0.1:8866/hello' --http1.0
access_by_lua_block
➜ ~ curl '127.0.0.1:8866/hello' --http1.1
access_by_lua_block