Problem :
Sometimes you may have experienced that the custom header values defined and sent through client has been dropped off when it goes via the nginx in a setup fronted by nginx.
Solution :
1. First you should check whether the custom headers contain underscores (_)
2. If so you need to check whether you have configured underscores_in_headers in your nginx.conf under each server.
3. By default, underscores_in_headers is off.
4. Therefore you need to configure it to on.
Reason :
By this property,
It enables or disables the use of underscores in client request header fields. When the use of underscores is disabled, request header fields whose names contain underscores are marked as invalid and become subject to the ignore_invalid_headers directive.
Ref: http://nginx.org/en/docs /http/ngx_http_core_module.html
Example :
Sample configuration would be as below :
server{
listen 8280;
server_name wrk.esb.com;
underscores_in_headers on;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;.
.
.
.
.
}
}
No comments:
Post a Comment