[英]Nginx issues with # in Request Header
一些消息总线和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
事实证明,直接在nginx中没有真正的解决方案。 我最终将HAProxy放在nginx前面,并重写HTTP标头以替换#字符。
http-request set-header Vendor-User-Property-BMC %[req.hdr("Vendor-User-Property-#BMC")]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.