我相信这应该很容易找到,但对于我的生活,我找不到答案。我正在尝试设置代理 header ,并且尝试了以下方法:
location / {
access_by_lua '
ngx.header["ZZZZ"] = zzzzz
proxy_pass http://127.0.0.1:8888;
';
或者
location / {
access_by_lua '
ngx.proxy_set_header["ZZZZ"] = zzzzz
proxy_pass http://127.0.0.1:8888;
';
设置代理 header 的正确方法是什么。
谢谢
稳定
最佳答案
要设置或清除发送到 proxy_pass 的 header ,您可以使用以下内容
设置标题,使用
ngx.req.set_header(header_name, value)
要清除标题,请使用ngx.req.clear_header(header)
要清除所有标题,您可以编写for header, _ in pairs(ngx.req.get_headers()) do
ngx.req.clear_header(header)
end
现在回答你的问题,你可以使用location / {
access_by_lua_block {
ngx.req.set_header("ZZZZ", zzzzz)
}
proxy_pass http://127.0.0.1:8888;
}
确保写在 access_by_lua 或 rewrite_by_lua 中。
关于nginx lua 设置代理头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33660493/