Hi,
Is there any way to set a header that identifies the real
port of the proxy that’s handing a request? That is, if I
have a round-robin proxy-set, a request forwarded to the
proxy at port 8000 will have the header “X-Real-Port: 8000”.
I’ve tried both the $proxy_port and the $server_port
variables, but they’re both 80.
Thanks.
Mark Reginald J. wrote:
Hi,
Is there any way to set a header that identifies the real
port of the proxy that’s handing a request? That is, if I
have a round-robin proxy-set, a request forwarded to the
proxy at port 8000 will have the header “X-Real-Port: 8000”.
I’ve tried both the $proxy_port and the $server_port
variables, but they’re both 80.
I’ve found out that if, in 0.6.32, you do:
proxy_pass http://localhost:8000;
proxy_set_header X-Proxy-Port $proxy_port;
You get 8000 in the HTTP_X_PROXY_PORT header.
However if you do:
upstream p {
server localhost:8000
}
proxy_pass http://p;
proxy_set_header X-Proxy-Port $proxy_port;
You get 80 in the HTTP_X_PROXY_PORT header.
Is this expected, or does it require a fix?
If so, is it an easy fix for the main devs,
or do you want me to work up a patch?
Thanks.