Подскажите, где я не прав и вообще возможно ли это. Задача такая: использовать кеш если апстрим не работает, иначе кеш не использовать. Для этого я решил использовать proxy_cache_use_stale директиву и max-age=1:
proxy_cache_path /app/cache/ui levels=1:2 keys_zone=ui:10m max_size=1g inactive=30d;
server {
...
location /app/ui/config.json {
proxy_cache ui;
proxy_cache_valid 1d;
proxy_ignore_headers Expires;
proxy_hide_header Expires;
proxy_hide_header Cache-Control;
add_header Cache-Control "max-age=1, public";
proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
add_header X-Cache-Status $upstream_cache_status;
add_header X-Cache-Date $upstream_http_date;
proxy_pass http://app/config.json;
}
}
Но во время выключения бекенда, кеш не используется. Где подвох?