It appears that HAproxy is not honoring q-values in the Accept-Encoding
header, when requesting compression.

When I run a curl command with Accept-Encoding:gzip (no q-value), I get
back an expected response:

#curl -svo /dev/null
"http://something/js/global-main-7b2ca6b.js<http://origin.cdn.creativelive.com/js/global-main-7b2ca6b.js>"
-H"Accept-Encoding: gzip"

*Date: Fri, 14 Mar 2014 19:20:28 GMT*
*Content-Type: application/x-javascript*
*Last-Modified: Fri, 14 Mar 2014 05:35:33 GMT*
*ETag: "53229525-56f6d"*
*Access-Control-Allow-Origin: **
*Access-Control-Allow-Credentials: true*
*Access-Control-Allow-Methods: GET, POST, OPTIONS*
*Access-Control-Allow-Headers:
DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type*
*Accept-Ranges: bytes*
*Transfer-Encoding: chunked*
*Content-Encoding: gzip*

However, if I run a 'curl' command with a q-value on the Accept-Encoding
parameter, I get:

# curl -svo /dev/null
"http://something/js/global-main-7b2ca6b.js<http://origin.cdn.creativelive.com/js/global-main-7b2ca6b.js>"
-H"Accept-Encoding: gzip;q=1.000"

*Date: Fri, 14 Mar 2014 19:47:10 GMT*

*Content-Type: application/x-javascript*

*Content-Length: 356205*

*Last-Modified: Fri, 14 Mar 2014 05:35:30 GMT*

*ETag: "53229525-56f6d"*
*Access-Control-Allow-Origin: **
*Access-Control-Allow-Credentials: true*
*Access-Control-Allow-Methods: GET, POST, OPTIONS*
*Access-Control-Allow-Headers:
DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type*
*Accept-Ranges: bytes*


On HAproxy, I have this setup on my frontend:

frontend web
        mode http
        bind *:80
        bind *:443 ssl crt /etc/haproxy/certs/web.pem crt
/etc/haproxy/certs/
        log-format %ST|%fp|%CC|%Ts|%ci|%r|%hr
        capture cookie cc= len 63
        option http-server-close
        option forwardfor
        capture request header User-Agent len 128
        capture request header Host len 64
        errorloc303 504 /live.html
        errorloc303 503 /live.html
        errorloc303 502 /live.html
        maxconn 5000
        *compression algo gzip*
*        compression type text/html text/plain text/css text/javascript
application/javascript application/x-javascript*


Am I missing something or does HAproxy not support q-values?


Thanks!

Jay

Reply via email to