How to setup nginx to follow 302

Anatoli Marinov a.marinov at
Mon Oct 7 08:56:45 UTC 2013

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 weight=100;

    server {


        location / {
            proxy_cache zone_c1;
            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?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the nginx mailing list