Nginx在请求标头中出现问题

时间:2017-04-20 07:46:15

标签: http nginx

某些消息总线和Java应用程序将请求标头添加到其HTTP请求中,并在其中包含哈希值。例如:

Vendor-User-Property-#BMC: 1234

NGINX似乎没有将此标头与proxy_pass请求一起传递。我试图重写那个标题:

proxy_set_header Vendor-User-Property-BMC "$http_vendor_user_property_#bmc";

但遗憾的是,这不是一个有效的变量,它只是添加字符串值#bmc

有没有办法通过proxy_pass传递那些未经修改的头文件或以任何方式获取这些头文件的值?

用于测试的Curl命令:

curl -H "Vendor-User-Property-#BMC: 123" http://domain.tld 

1 个答案:

答案 0 :(得分:0)

事实证明,nginx中没有真正的解决方案。我最终在nginx前面放了一个HAProxy并重写了HTTP标头来替换#字符。

http-request set-header Vendor-User-Property-BMC %[req.hdr("Vendor-User-Property-#BMC")]