James Brown
2018-11-19 18:28:28 UTC
Here's a strange thing I've noticed:
When using HTTP/2, HAproxy is rewriting the "Accept-Ranges" response header
into "Accept-Language".
You can see this yourself by comparing the output of
curl --http2 -vs -o /dev/null https://www.easypost.com
curl --http1.1 -vs -o /dev/null https://www.easypost.com
Here's what I see
% diff <(curl --http1.1 -vs -o /dev/null https://www.easypost.com 2>&1 |
egrep -o '< [^:]+:' | sed -e 's/< //' | tr '[:upper:]' '[:lower:]') <(curl
--http2 -vs -o /dev/null https://www.easypost.com 2>&1 | egrep -o '<
[^:]+:' | sed -e 's/< //' | tr '[:upper:]' '[:lower:]')
14c14
< accept-ranges:
---
The backend in this case is HTTP/1.1; HAproxy is doing the 1.1 -> 2
conversion itself. This is with HAproxy 1.8.14. I have not tested with
HAproxy 1.9.
Any thoughts?
When using HTTP/2, HAproxy is rewriting the "Accept-Ranges" response header
into "Accept-Language".
You can see this yourself by comparing the output of
curl --http2 -vs -o /dev/null https://www.easypost.com
curl --http1.1 -vs -o /dev/null https://www.easypost.com
Here's what I see
% diff <(curl --http1.1 -vs -o /dev/null https://www.easypost.com 2>&1 |
egrep -o '< [^:]+:' | sed -e 's/< //' | tr '[:upper:]' '[:lower:]') <(curl
--http2 -vs -o /dev/null https://www.easypost.com 2>&1 | egrep -o '<
[^:]+:' | sed -e 's/< //' | tr '[:upper:]' '[:lower:]')
14c14
< accept-ranges:
---
The backend in this case is HTTP/1.1; HAproxy is doing the 1.1 -> 2
conversion itself. This is with HAproxy 1.8.14. I have not tested with
HAproxy 1.9.
Any thoughts?
--
James Brown
Systems Engineer
James Brown
Systems Engineer