【问题标题】:Return the incoming header as is | Nginx按原样返回传入的标头 | Nginx
【发布时间】:2018-03-29 07:21:10
【问题描述】:

我们有一个下游应用程序,它在点击 nginx 之前为来自浏览器的请求设置一些自定义标头。 nginx 只提供静态内容。 即浏览器>>应用A>>nginx

要求是 nginx 应该能够将它接收到的所有标头按原样返回给下游服务器,下游服务器会将其返回给浏览器。默认情况下,它只返回通用标头(cookie 等,到期等),而不是重新调整下游服务器发送的自定义标头。

例如,有一个名为 appnumber 的标头,nginx 接收到的值为 app01。我尝试使用以下规则显式设置它以手动设置它(如果存在),但没有帮助,因为它抛出了不允许使用变量的错误。

if ($appnumber) {
    add_header appnumber $appnumber;
}

有人可以在这里指导我吗?

【问题讨论】:

    标签: nginx http-headers request-headers response-headers nginx-reverse-proxy


    【解决方案1】:

    请求标头存储在 $http_ 变量下。您可以尝试类似

    if ($appnumber) {
       add_header appnumber $http_appnumber;
    }
    

    参考http://nginx.org/en/docs/http/ngx_http_core_module.htmlnginx - read custom header from upstream server

    【讨论】:

    • 感谢 David 的建议,但 'add_header' 不接受任何动态格式的变量 - nginx 配置会失败。
    猜你喜欢
    • 2012-08-02
    • 2014-07-19
    • 1970-01-01
    • 2014-06-07
    • 2010-09-19
    • 2019-11-28
    • 2018-12-10
    • 1970-01-01
    相关资源
    最近更新 更多