Hi Patrick,

That didn't work (in a few different forms I tried)—thanks for the suggestion 
though!

It seems HTX is pretty picky about how those headers get emitted. :)

I'm still looking for a solution to this that doesn't involve disabling HTX.

Best,
Luke

—
Luke Seelenbinder
SermonAudio.com <http://sermonaudio.com/> | Senior Software Engineer


> On Jun 27, 2019, at 17:11, Patrick Hemmer <hapr...@stormcloud9.net> wrote:
> 
> 
> 
> From: Luke Seelenbinder [mailto:l...@sermonaudio.com 
> <mailto:l...@sermonaudio.com>]
> Sent: Wednesday, June 26, 2019, 10:07 EDT
> To: HAProxy <haproxy@formilux.org> <mailto:haproxy@formilux.org>
> Subject: Case Sensitive Headers
> 
>> Hello List,
>> 
>> I have a painful case of noncompliance to report and figure out how to fix.
>> 
>> When HTX is enabled, all headers are returned in lower case (e.g., 
>> content-length, date, etc.). This is obviously fine and within spec. 
>> Unfortunately, I'm using a rather frustrating piece of software (Wowza) that 
>> talks to an haproxy instance and Wowza requires that the content-length 
>> header is always camel case, i.e., Content-Length, otherwise requests fail.
>> 
>> I tried using http-response set-header Content-Length 
>> %[res.hdr(content-length)] if { res.hdr(content-length) -m found } to force 
>> the value to upper case, but that didn't help.
>> 
>> This is very obviously a case of badly behaving software and not a problem 
>> with HAProxy, but I'm wondering if there's any other way to force that 
>> header to Content-Length without turning HTX off.
>> 
>> Thanks for any ideas!
>> 
>> Best,
>> Luke
>> 
>> —
>> Luke Seelenbinder
>> SermonAudio.com <http://sermonaudio.com/> | Senior Software Engineer
>> 
>> 
> This is just a stab in the dark, but try deleting the header, then adding it 
> back. For example
> 
> http-response set-var(res.conlen) res.hdr(content-length)
> http-response del-header content-length
> http-response set-header Content-Length %[var(res.conlen)] if { 
> var(res.conlen) -m found }
> 
> -Patrick

Reply via email to