Hello colleagues,
Last week I tried to configure nginx to follow 302 through upstream
instead
of relay it to the client.
My config now is like the next one:
http {
proxy_cache_path /home/toli/nginx/run/cache keys_zone=zone_c1:256m
inactive=5d max_size=30g;
upstream up_cdn_cache_l2 {
server 127.0.1.1:8081 weight=100;
}
server {
listen 127.0.0.1:8080;
resolver 8.8.8.8;
location / {
proxy_cache zone_c1;
proxy_pass http://127.0.1.1:8081;
proxy_temp_path tmp;
error_page 301 302 307 @redir;
}
location @redir {
set $foo $upstream_http_location;
proxy_pass $foo;
proxy_cache zone_c1;
proxy_temp_path tmp ;
}
}
}
With this config ginx is trying to connect to the server taken from
location header. In wireshark I found new tcp connection to it but there
is
not http request over this connection and after some time 504: Gateway
Time-out is received.
So at the client site I receive “504: Gateway Time-out.”
Do you have any idea why nginx dont send http request to the second
server?