How to have nginx forward the HTTP_X_FORWARDED_PROTO header?
Solution 1:
I figured out how to solve this. The problem was that nginx was overwriting the header set by haproxy on this line of my config:
proxy_set_header X-Forwarded-Proto $scheme;
I fixed it by adding in this:
map $http_x_forwarded_proto $thescheme {
default $scheme;
https https;
}
and changing the proxy_set_header line to use the new scheme:
proxy_set_header X-Forwarded-Proto $thescheme;
Solution 2:
I had the same need with AWS ELB
Here is my solving line:
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;