繁体   English   中英

Nginx在请求标题中出现#问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM