2017-04-20 4 views
0

メッセージバスとJavaアプリケーションの中には、HTTPリクエストに要求ヘッダーをハッシュで追加するものがあります。例:Nginxは#で要求ヘッダーを発行します

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 
+0

私は実際に#が、ヘッダー名フィールドに許可されているかどうかを確認するために、RFCに戻ってチェックしなければなりませんでした。そうだ。あなたの実際の問題について: '$ {http_vendor_user_property_#bmc} 'を拡張として使用できますか? – DaSourcerer

+0

nginxは#をコメントとして認識し、セミコロンで終わらない行について文句を言います。 – Boris

+0

OK、最後の努力: '# 'の代わりに' \# '? – DaSourcerer

答えて

0

は直接nginxのには真の解決策はありませんが判明します。私はnginxの前にHAProxyを置き、#文字を置き換えるためにHTTPヘッダーを書き直した。

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

関連する問題