Использование кеша если апстрим не отвечает корректно, в остальных случаях - проксировать без кеша

tikhoa nginx-forum на forum.nginx.org
Чт Сен 6 14:58:15 UTC 2018


Подскажите, где я не прав и вообще возможно ли это. Задача такая:
использовать кеш если апстрим не работает, иначе кеш не использовать. Для
этого я решил использовать 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;
    }
}

Но во время выключения бекенда, кеш не используется. Где подвох?

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,281118,281118#msg-281118



Подробная информация о списке рассылки nginx-ru