Return file when it's in cache/check if file exists in cache

ixos nginx-forum at nginx.us
Fri Sep 6 08:48:25 UTC 2013


Ok, maybe not so beautiful solution but upstream can be used with one server
makred as down.

http {
upstream backend-jail {
    server 0.0.0.0 down;
}

server {
    listen      80;

    underscores_in_headers on;

    recursive_error_pages on;
    error_page 597 = @jail;

    location / {
        if ($http_x_backend_down = "1") {
            return 597;
        }

        proxy_pass http://lcoalhost:8080;             
        proxy_set_header Host $host;

        proxy_cache my-cache;
        proxy_cache_valid 200 302  1h;
        proxy_cache_valid 404      1m;
        proxy_cache_key    $uri$is_args$args;
    }

    location @jail {
        # dont need to log error about 'no live upstreams'
        error_log /dev/null crit;

        # backend-jail always return 502, want 404 to be returned.
        error_page 502 =404 /;

        proxy_pass http://backend-jail;
    }
}
}

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,242488,242618#msg-242618



More information about the nginx mailing list