按原样返回传入的标题Nginx
问题描述:
我们有一个下游应用程序,它在打击nginx之前设置一些自定义标题来自浏览器的请求。 nginx只提供静态内容。 即浏览器>>应用程序A >> nginx按原样返回传入的标题Nginx
要求是nginx应该能够返回它所接收到的所有头信息,它们将被下游服务器返回给浏览器。默认情况下它只返回通用头文件(cookies等,expiry等),而不是重新调用下游服务器发送的定制头文件。
例如,有一个名为appnumber的头,nginx接收的值为app01。我试图用下面的规则明确地设置它,如果它存在,手动设置它,但没有帮助,因为它会抛出错误,不允许变量。
if ($appnumber) {
add_header appnumber $appnumber;
}
有人可以在这里指导我吗?
答
请求标头存储在$ http_变量下。你可以尝试像
if ($appnumber) {
add_header appnumber $http_appnumber;
}
参考http://nginx.org/en/docs/http/ngx_http_core_module.html和nginx - read custom header from upstream server
感谢您的建议大卫,但“add_header”不接受动态任何变量按照其格式 - nginx的配置会失败。 – Anooj
试试看 - https://github.com/openresty/lua-nginx-module。 – David