我正在尝试读取header_filter_by_lua块中的Content-Encoding。我使用chrome的开发人员工具进行测试,同时请求使用Content-Encoding响应的URL:gzip。我使用这些检查:
local test1 = ngx.var.http_content_encoding
local test2 = ngx.header.content_encoding
local test3 = ngx.resp.get_headers()["Content-Encoding"]
并且所有这些都给出空/零值。以相同的方式获取User-Agent是成功的,那么Content-Encoding的问题是什么?
答案 0 :(得分:0)
ngx.var.http_content_encoding
- 将返回请求(不是响应)标题
下面的API适用于header_filter_by_lua_block
及后续阶段的上下文中的读访问:
ngx.header.content_encoding
始终适合我,是正确的方式。
如果不起作用 - 请检查https://github.com/openresty/lua-nginx-module#lua_transform_underscores_in_response_headers
ngx.resp.get_headers()["Content-Encoding"]
也可以,但无法获得单个标题。
答案 1 :(得分:0)
要从请求中获取值,请使用以下
ngx.req.get_headers()["content_encoding"]