I have the following example
location / {
proxy_read_timeout 2000;
proxy_next_upstream error;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass_header X_CUSTOM_HEADER;
proxy_redirect off;
proxy_max_temp_file_size 0;
proxy_pass https://prod;
break;
}
Now when i use the following curl line
curl --head -H "X_CUSTOM_HEADER: foo" http://domain.com/api/test
Now that does not work.. the apache/php on the backend doesn't see the header. If I bypass nginx it works
curl --head -H "X_CUSTOM_HEADER: foo" http://web1.domain.com/api/test
Best Answer
You should use
underscores_in_headers on
directive which is off by default.