nginx $http_upgrade 在 openresty access_by_lua_block

问题描述

我在 OPENRESTY access_by_lua_block 中调用 Nginx 的 $http_upgrade 的名称是什么或如何调用

所以我可以在这里使用它

access_by_lua_block {
   ???
}

解决方法

您可以使用 ngx.var.VARIABLEngx.req.get_headers API 来获取任何请求标头的值:

access_by_lua_block {
    ngx.log(ngx.INFO,ngx.var.http_upgrade)
    ngx.log(ngx.INFO,ngx.req.get_headers()['upgrade'])
}

来自文档:

请注意,使用核心 ngx.var.HEADER 变量的 $http_HEADER API 调用可能更适合读取单个请求标头。