我使用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
// ...
}
这可能吗?提前致谢。
答案 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;
}