Einige Nachrichtenbusse und Java-Anwendungen hinzufügen Anfrage Header zu ihren HTTP-Anforderungen mit einem Hash darin. Beispiel:Nginx Probleme mit # in Anforderung Header
Vendor-User-Property-#BMC: 1234
Es scheint, NGINX übergibt diesen Header nicht zusammen mit der proxy_pass-Anfrage. Ich habe versucht, diesen Header neu zu schreiben:
proxy_set_header Vendor-User-Property-BMC "$http_vendor_user_property_#bmc";
aber das ist leider keine gültige Variable und es kommt noch hinzu, den String-Wert #bmc
.
Gibt es eine Möglichkeit, diese Header unmodified mit proxy_pass oder eine andere Möglichkeit, den Wert dieser Header erhalten?
Locken-Befehl verwendet, das testen:
curl -H "Vendor-User-Property-#BMC: 123" http://domain.tld
Ich hatte eigentlich mit dem RFCs, um, wenn ein # in einem Header-Namensfeld erlaubt, um zu sehen zu prüfen ist. Stellt sich heraus, ist es. Was Ihr eigentliches Problem angeht: Können Sie versuchen, '$ {http_vendor_user_property_ # bmc}' als Erweiterung zu verwenden? – DaSourcerer
Dann erkennt Nginx die # als Kommentar und beschwert sich darüber, dass die Zeile nicht durch ein Semikolon beendet wird. – Boris
Ok, letzter Versuch: '\ #' statt '#'? – DaSourcerer