How to setup nginx to follow 302

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?