I have a few questions regarding headers in nginx:
I use proxy_set_header to pass a header to upstream servers. Is it
possible to honor the header if the incoming request already has it?
I want to pass the “Server” header from upstream response to clients,
and if there is no such response header, I’d like to add a customer one.
Is
it possible via core nginx or any third party modules? Currently I am
using
“proxy_pass_header Server” without any check. I am not sure what happens
if
upstream response doesn’t have it.
I am trying to log an upstream response header to access log but it
has
a “dot” in it (say X.header). I don’t have any control to the upstream
servers. On nginx side, I tried setting “ignore_invalid_headers off” in
the
server block, and in the logformat, I tried a few things for the the
column: $upstream_http_x.header $upstream_http_x_header
$upstream_http_x-header, but nothing works. Any ideas how I can log it?
I made the below patch and can now use $upstream_http_x_header for
logformat to capture the header X.header in the access log. Does anybody
see any issues with the patch?
Thanks for you comment! Do you have any other approaches/suggestions?
I use nginx as a proxy/load-balancer. The request will be processed by
the
upstream java servers. I assume my change won’t actually modify the
actual
header, so upstream will still get the original header and can
distinguish
. and - ?
Regards,
Frank
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.