nginx - 从上游服务器读取自定义标头

时间:2012-09-14 20:24:05

标签: nginx reverse-proxy

我使用nginx作为反向代理并尝试从上游服务器(Apache)的响应中读取自定义标头但没有成功。 Apache响应如下:

HTTP/1.0 200 OK
Date: Fri, 14 Sep 2012 20:18:29 GMT 
Server: Apache/2.2.17 (Ubuntu)
X-Powered-By: PHP/5.3.5-1ubuntu7.10
Connection: close
Content-Type: application/json; charset=UTF-8
My-custom-header: 1

我想从 My-custom-header 中读取值,并在if子句中使用它:

location / {
    // ...
    // get My-custom-header value here
    // ...
}

这可能吗?提前致谢。

2 个答案:

答案 0 :(得分:38)

我遇到了同样的问题。我尝试了$http_my_custom_header$sent_http_my_custom_header,但它对我不起作用。

尽管使用$upstream_http_my_custom_header解决了这个问题。

答案 1 :(得分:4)

使用$ http_MY_CUSTOM_HEADER

你可以写一些像

这样的东西
set my_header $http_MY_CUSTOM_HEADER;
if($my_header != 'some-value') {
#do some thing;
}